asserter
A new testing utility for rust
Features
You can easily unwrap nested value easily.
use asserter::*;
enum Complex {
Normal(String),
Boxed(Box<Complex>),
}
#[asserter]
fn main() {
let foo = Complex::Boxed(Box::new(Complex::Normal(String::from("foo"))));
unwrap!(foo as Complex::Boxed(unbox!(Complex::Normal(s))));
assert_eq!(s, "foo");
}
Also, you can use box patterns in unwrap!
.
use asserter::*;
enum Complex {
Normal(String),
Boxed(Box<Complex>),
}
#[asserter]
fn main() {
let foo = Complex::Boxed(Box::new(Complex::Normal(String::from("foo"))));
unwrap!(foo as Complex::Boxed(box Complex::Normal(s)));
assert_eq!(s, "foo");
}
There are some syntax sugars to allow using rustfmt with it.
Usage
Cargo.tml
:
[dependencies]
asserter = "0.1"
#[asserter]
fn main() {
let foo = Complex::Boxed(Box::new(Complex::Normal(String::from("foo"))));
unwrap!(foo as Complex::Boxed(box Complex::Normal(s)));
assert_eq!(s, "foo");
}