39 lines
1.2 KiB
Rust
39 lines
1.2 KiB
Rust
#[test]
|
|
fn determine_controller() {
|
|
struct TestCase {
|
|
name: &'static str,
|
|
input: &'static str,
|
|
expected: super::ControllerType,
|
|
}
|
|
|
|
let test_cases = vec![
|
|
TestCase {
|
|
name: "Top-level is usage help",
|
|
input: "",
|
|
expected: super::ControllerType::UsageHelp,
|
|
},
|
|
TestCase {
|
|
name: "Top-level with some text is usage help",
|
|
input: "Some text",
|
|
expected: super::ControllerType::UsageHelp,
|
|
},
|
|
TestCase {
|
|
name: "Image generation triggered by create prefix",
|
|
input: "create Some prompt",
|
|
expected: super::ControllerType::ImageGeneration("Some prompt".to_owned()),
|
|
},
|
|
TestCase {
|
|
name: "Image edit triggered by edit prefix",
|
|
input: "edit Turn this into an anime-style image",
|
|
expected: super::ControllerType::ImageEdit(
|
|
"Turn this into an anime-style image".to_owned(),
|
|
),
|
|
},
|
|
];
|
|
|
|
for test_case in test_cases {
|
|
let result = super::determine_controller(test_case.input);
|
|
assert_eq!(result, test_case.expected, "Test case: {}", test_case.name);
|
|
}
|
|
}
|