# RXpect A Rust library for fluently building expectations in tests. ## Another library for fluent assertions? None of the other libraries worked quite like I wanted them to. I also wanted to test my ideas about how a fluent assertion library in Rust could work. ## What about the name? All other names I could come up with were already taken. ### What does it mean? Either _Rust Expect_ or _Raniz Expect_, pick whichever you like best. ## How do I use this thing? It's pretty simple actually, wrap whatever you're having expectations on with `expect` and then call the different extension methods. ```rust use rexpect::expect; use rexpect::expectations::EqualityExpectations; // Expect 1 plus 1 to equal 2 expect(1 + 1).to_equal(2); ``` ```shell running 1 test test tests::that_one_plus_one_equals_two ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s ``` Failures are neatly reported: ```rust,no_run use rexpect::expect; use rexpect::expectations::EqualityExpectations; // Expect 1 plus 1 to equal 3 expect(1 + 1).to_equal(3); ``` ```shell thread 'main' panicked at 'Expectation failed (expected == actual) expected: `3` actual: `2`' ``` ## I don't like it Use something else. Here's a bunch of other crates that also does fluent expectations, in no particular order: - https://crates.io/crates/totems - https://crates.io/crates/lets_expect - https://crates.io/crates/fluent-assertions - https://crates.io/crates/xpct - https://crates.io/crates/expect - https://crates.io/crates/fluent-asserter - https://crates.io/crates/spectral - https://crates.io/crates/assertables - https://crates.io/crates/speculoos - https://crates.io/crates/assert - https://crates.io/crates/rassert