Expand description
Assertor makes test assertions and failure messages more human-readable.
Assertor is heavy affected by Java Truth in terms of API design and error messages.
Example
use assertor::*;
assert_that!("foobarbaz").contains("bar");
assert_that!("foobarbaz").ends_with("baz");
assert_that!(0.5).with_abs_tol(0.2).is_approx_equal_to(0.6);
assert_that!(vec!["a", "b"]).contains("a");
assert_that!(vec!["a", "b"]).has_length(2);
assert_that!(vec!["a", "b"]).contains_exactly(vec!["a", "b"]);
assert_that!(Option::Some("Foo")).has_value("Foo");
Failure cases
ⓘ
use assertor::*;
assert_that!(vec!["a", "b", "c"]).contains_exactly(vec!["b", "c", "d"]);
// missing (1) : ["d"]
// unexpected (1): ["a"]
// ---
// expected : ["b", "c", "d"]
// actual : ["a", "b", "c"]
Modules
Macros
- An assertion macro that panics when the assertion fails.
- Only for library developers. An assertion macro for asserting assertion result.
Structs
- Contains assertion results which will be shown in the assertion messages.
- Code location.
- Subject structure that contains actual value with auxiliary data (ex. line pos, description).
Enums
- A piece of assertion message.
Traits
- A behavior for assertion pass and failure.
AssertionResult
implements this traits. - Trait for boolean assertion.
- Trait for comparison assertions.
- Trait for equality assertion.
- Trait for float assertion.
- Trait for iterator assertion.
- Trait for map assertion.
- Trait for option assertion.
- Trait for result assertion.
- Trait for set assertion.
- Trait for string assertion.
- Trait for vector assertion.