65 lines
1.1 KiB
Rust
65 lines
1.1 KiB
Rust
use rstest::*;
|
|
|
|
#[fixture]
|
|
fn very_long_and_boring_name(#[default(42)] inject: u32) -> u32 {
|
|
inject
|
|
}
|
|
|
|
mod sub_module {
|
|
use super::*;
|
|
|
|
#[fixture]
|
|
pub fn mod_fixture() -> u32 {
|
|
42
|
|
}
|
|
}
|
|
|
|
#[fixture(very_long_and_boring_name as foo)]
|
|
fn compact(foo: u32) -> u32 {
|
|
foo
|
|
}
|
|
|
|
#[fixture(very_long_and_boring_name(21) as foo)]
|
|
fn compact_injected(foo: u32) -> u32 {
|
|
foo
|
|
}
|
|
|
|
#[fixture(sub_module::mod_fixture as foo)]
|
|
fn compact_from_mod(foo: u32) -> u32 {
|
|
foo
|
|
}
|
|
|
|
#[fixture]
|
|
fn attribute(#[from(very_long_and_boring_name)] foo: u32) -> u32 {
|
|
foo
|
|
}
|
|
|
|
#[fixture]
|
|
fn attribute_mod(#[from(sub_module::mod_fixture)] foo: u32) -> u32 {
|
|
foo
|
|
}
|
|
|
|
#[fixture]
|
|
fn attribute_injected(
|
|
#[from(very_long_and_boring_name)]
|
|
#[with(21)]
|
|
foo: u32,
|
|
) -> u32 {
|
|
foo
|
|
}
|
|
|
|
#[rstest]
|
|
fn test(
|
|
compact: u32,
|
|
attribute: u32,
|
|
attribute_mod: u32,
|
|
compact_from_mod: u32,
|
|
compact_injected: u32,
|
|
attribute_injected: u32,
|
|
) {
|
|
assert_eq!(compact, attribute);
|
|
assert_eq!(attribute, attribute_mod);
|
|
assert_eq!(attribute_mod, compact_from_mod);
|
|
assert_eq!(compact_injected, attribute_injected);
|
|
}
|