advent-of-code/2020/src/teststuff.rs

38 lines
1.0 KiB
Rust
Raw Normal View History

2020-12-10 14:01:25 +01:00
#[macro_export]
macro_rules! bench {
2020-12-10 16:41:54 +01:00
($part: ident ($($param: expr),*) == $expected:expr) => {
2020-12-10 14:01:25 +01:00
paste! {
#[bench]
fn [<$part _bench>](b: &mut test::Bencher) {
2020-12-14 10:45:37 +01:00
let raw = &read_input();
let input = parse_input(&raw);
2020-12-10 16:41:54 +01:00
b.iter(|| assert_eq!($part(black_box(&input)$(, $param)*), $expected));
2020-12-10 14:01:25 +01:00
}
}
};
}
#[macro_export]
macro_rules! bench_input {
($fn:ident == $expected_len:expr) => {
#[bench]
fn bench_input_parsing(b: &mut test::Bencher) {
let raw = read_input();
b.iter(|| assert_eq!(parse_input(black_box(&raw)).$fn(), $expected_len));
}
};
}
#[macro_export]
macro_rules! test {
2020-12-10 16:41:54 +01:00
($part: ident ($($param: expr),*) == $expected:expr) => {
2020-12-10 14:01:25 +01:00
paste! {
#[test]
fn [<$part _test>]() {
let input = parse_input(TEST_INPUT);
2020-12-10 16:41:54 +01:00
assert_eq!($part(&input$(, $param)*), $expected);
2020-12-10 14:01:25 +01:00
}
}
};
}