enum_tests

Macro enum_tests 

Source
macro_rules! enum_tests {
    (
        enum_type: $enum_name:ty,
        default_test: ($default_test_name:ident, $default_variant:expr),
        clone_test: ($clone_test_name:ident, $test_variant:expr),
        debug_test: ($debug_test_name:ident, $debug_variant:expr, $debug_str:expr $(,)?),
    ) => { ... };
}
Expand description

Generate standard enum tests (default, clone, debug).

This macro generates common test cases for enums that implement Default, Clone, Copy, Debug, and PartialEq. It reduces boilerplate in test modules.

§Examples

#[cfg(test)]
mod tests {
    use super::*;

    enum_tests! {
        enum_type: MyEnum,
        default_test: (test_default, MyEnum::DefaultVariant),
        clone_test: (test_clone, MyEnum::OtherVariant),
        debug_test: (test_debug, MyEnum::OtherVariant, "OtherVariant"),
    }
}