8000 GitHub - MIF-0/easy-assert
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

MIF-0/easy-assert

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

easy-assert crate, which will help you to create better tests

Add dependency to your Cargo.toml

[dev-dependencies]
assert-that = "0.2.1"

Example: NumericAssert::assert_that(actual(-1)).is_equal().to(expected(-1));

If you need custom description, or you can't implement Display trait) StringAssert::assert_that(actual_with(value, description_fucntion)) .length() .is(expected_with(5, description_fucntion));

If you need custom match:

CustomAssert::assert_that(actual(val1)) .matches_by(|a, b| a.eq(b)) .to(expected(val2));

Available assertions: NumericAssert -> is_equal, is_not_equal, is_less, is_less_or_equal, is_greater, is_greater_or_equal

StringAssert -> is_equal, is_not_equal, length, contains

BooleanAssert -> is_true, is_false

OptionAssert -> is_none, is_some, contains for now only with custom assertion or with list assertion

ListAssert -> 
    length;
    with_element_matcher ->
        is_equal_to ->
            in_any_order;
            in_order;
        contains ->
            in_any_order;
            in_exact_order; - [A,B,C,A,D].contains([B,C]).in_exact_order() = true/[A,B,C,A,D].contains([B,D]).in_exact_order() = false
            just_in_order; - [A,B,C,A,D].contains([B,C]).in_exact_order() = true/[A,B,C,A,D].contains([B,D]).in_exact_order() = true
        is_not_equal_to ->
            in_any_order; - At least one element should be different
            in_order; - All elements can be same, but order different
        does_not_contain ->
            all(); - All elements from expected should be missed in actual
            at_least_one(); - At least one element from expected should be missed in actual
        

CustomAssert -> matches_by

It is open source, feel free to submit merge requests or propose improvements.

About

No description or website provided.

Topics

Resources

License

MIT, Apache-2.0 licenses found

Licenses found

MIT
LICENSE
Apache-2.0
LICENSE-APACHE

Stars

Watchers

Forks

Languages

0