use std::thread;
use rand::Rng;
use crate::compare;
#[test]
fn test_macro() {
let mut rng = rand::thread_rng();
let path = rng.gen_range(0..2);
let something = "test".to_string();
compare!("test", path, || {}, || {});
compare!("test", path, || {}, || {}; "tag1" => "tag2");
compare!("test", path, move || {}, move || {});
compare!("test", path, move || {}, move || {}; "tag1" => "tag2");
let res = compare!("test", path, || 1, || 2);
assert_eq!(res, path + 1);
let expected = something.len() / (path + 1);
let handle = compare!(
"test",
path,
move || thread::spawn(move || something.len()),
move || thread::spawn(move || something.len() / 2)
);
assert_eq!(handle.join().unwrap(), expected);
}