7 stable releases
Uses old Rust 2015
1.5.0 | Feb 5, 2021 |
---|---|
1.4.0 | Oct 4, 2020 |
1.3.0 | Jul 12, 2018 |
1.2.0 | Mar 6, 2018 |
1.0.0 | Feb 16, 2016 |
#7 in No standard library
1,853,750 downloads per month
Used in 1,553 crates
(801 directly)
14KB
209 lines
assert_matches
Provides a macro, assert_matches
, which tests whether a value
matches a given pattern, causing a panic if the match fails.
#[macro_use] extern crate assert_matches;
#[derive(Debug)]
enum Foo {
A(i32),
B(i32),
}
let a = Foo::A(1);
assert_matches!(a, Foo::A(_));
assert_matches!(a, Foo::A(i) if i > 0);
To include in your project, only when tests are compiled, add the following to your Cargo.toml:
[dev-dependencies]
assert_matches = "1.5"
And add the following to your crate root:
#[cfg(test)] #[macro_use]
extern crate assert_matches;
License
assert_matches
is distributed under the terms of both the MIT license and the
Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.
lib.rs
:
Provides a macro, assert_matches!
, which tests whether a value
matches a given pattern, causing a panic if the match fails.
See the macro assert_matches!
documentation for more information.
Also provides a debug-only counterpart, debug_assert_matches!
.
See the macro debug_assert_matches!
documentation for more information
about this macro.