47 lines
756 B
Rust
47 lines
756 B
Rust
use rstest::{fixture, rstest};
|
|
|
|
#[fixture(value = 42)]
|
|
pub fn simple(value: u32) -> u32 {
|
|
value
|
|
}
|
|
|
|
#[fixture(value = 21, mult = 2)]
|
|
pub fn double(value: u32, mult: u32) -> u32 {
|
|
value * mult
|
|
}
|
|
|
|
#[fixture]
|
|
pub fn middle() -> u32 {
|
|
2
|
|
}
|
|
|
|
#[fixture(value = 21, mult = 4)]
|
|
pub fn mixed(value: u32, middle: u32, mult: u32) -> u32 {
|
|
value * mult / middle
|
|
}
|
|
|
|
#[rstest]
|
|
fn test_simple(simple: u32) {
|
|
assert_eq!(simple, 42)
|
|
}
|
|
|
|
#[rstest(simple(21))]
|
|
fn test_simple_changed(simple: u32) {
|
|
assert_eq!(simple, 21)
|
|
}
|
|
|
|
#[rstest]
|
|
fn test_double(double: u32) {
|
|
assert_eq!(double, 42)
|
|
}
|
|
|
|
#[rstest(double(20, 3))]
|
|
fn test_double_changed(double: u32) {
|
|
assert_eq!(double, 60)
|
|
}
|
|
|
|
#[rstest]
|
|
fn test_mixed(mixed: u32) {
|
|
assert_eq!(mixed, 42)
|
|
}
|