extern crate ntest_test_cases; use ntest_test_cases::test_case; #[test_case(42)] fn one_arg(x: u32) { assert_eq!(x, 42) } #[test_case(1, 42)] #[test_case(9, 18)] #[test_case(5, 20)] fn two_args(x: u8, y: u32) { assert!(x < 10); assert!(y > 10); } #[test_case(42.42)] fn float(x: f64) { assert_eq!(x, 42.42) } #[test_case("walter", "white")] fn test_string(x: &str, y: &str) { assert_eq!(x, "walter"); assert_eq!(y, "white"); } #[test_case("-390)(#$*Q)")] fn test_string_special_chars(x: &str) { assert_eq!(x, "-390)(#$*Q)"); } #[test_case(true)] fn test_bool(x: bool) { assert!(x); } #[test_case(true, "true", 1)] fn test_mix(x: bool, y: &str, z: u16) { assert!(x); assert_eq!(y, "true"); assert_eq!(z, 1); } #[test_case(42, name="my_fancy_test")] fn with_name(x: u32) { assert_eq!(x, 42) } #[test_case(42, name="my_snd_fancy_testSPECIALCHARS^$(*")] fn with_name(x: u32) { assert_eq!(x, 42) } #[test_case(18)] #[ignore] #[test_case(15)] #[should_panic(expected = "I am panicing")] fn attributes_test_case(x: u32) { panic!("I am panicing {}", x); } #[test_case(42)] fn return_result(x: u32) -> core::result::Result<(), ()> { assert_eq!(x, 42); Ok(()) }