specler/core/
asserts.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/// Asserts that a `SpecValidationResult` is valid
// #[macro_export]
// macro_rules! assert_spec_valid {
//         ($result:expr) => {
//             match $result {
//                 SpecValidationResult::Valid(_) => (),
//                 SpecValidationResult::Invalid(v, _) => {
//                     panic!("Expected '{}' to pass the specification, but got errors", v)
//                 }
//             }
//         };
//     }

/// Asserts that a `SpecValidationResult` is invalid
#[macro_export]
macro_rules! assert_spec_invalid {
        ($result:expr) => {
            match &$result {
                SpecValidationResult::Invalid(_, _) => (),
                SpecValidationResult::Valid(_) => {
                    panic!("Expected an invalid result, but got valid")
                }
            }
        };
    }

/// Asserts that a `SpecValidationResult` is invalid and contains the expected error
#[macro_export]
macro_rules! assert_spec_error_msg {
        ($result:expr, $expected_err:expr) => {
            match &$result {
                Ok(_) => panic!("Expected an Err, but got Ok"),
                Err(se) => {
                    assert!(se.errors().contains(&$expected_err.to_string()))
                }
            }
        };
    }