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 |
#90 in Rust patterns
1,748,966 downloads per month
Used in 1,891 crates
(1,026 directly)
14KB
209 lines
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.
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.