sz-rust-cli 1.4.0

SZ-Rust 命令行工具:项目脚手架、数据库迁移、调度器管理
Documentation
// Generated by sz-rust-cli make:plugin --template {{ template_type }} --name {{ plugin_name }}
// DO NOT EDIT MANUALLY

//! Tests for workflow `{{ plugin_name }}` state transitions

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

    #[test]
    fn test_initial_state() {
        let state = {{ class_name }}State::default();
        assert_eq!(state, {{ class_name }}State::{{ initial_state | pascal_case }});
    }

    #[test]
    fn test_state_display() {
        {%- for state in states %}
        assert_eq!({{ class_name }}State::{{ state.name | pascal_case }}.to_string(), "{{ state.name }}");
        {%- endfor %}
    }

    #[test]
    fn test_valid_transitions() {
        {%- for transition in transitions %}
        assert!(can_transition(
            {{ class_name }}State::{{ transition.from | pascal_case }},
            {{ class_name }}State::{{ transition.to | pascal_case }}
        ));
        {%- endfor %}
    }

    #[test]
    fn test_invalid_transition() {
        assert!(!can_transition(
            {{ class_name }}State::{{ initial_state | pascal_case }},
            {{ class_name }}State::{{ initial_state | pascal_case }}
        ));
    }
}