Crate assertor[][src]

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"]

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 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.