erniebot_rs/text2image/
model.rs

1use serde::{Deserialize, Serialize};
2use strum_macros::{Display, EnumString};
3
4#[derive(Debug, Default, Clone, Serialize, Deserialize, EnumString, Display, PartialEq, Eq)]
5#[non_exhaustive]
6pub enum Text2ImageModel {
7    #[default]
8    #[strum(serialize = "sd_xl")]
9    StableDiffusionXL,
10}
11
12#[cfg(test)]
13mod tests {
14    use super::Text2ImageModel;
15    use std::str::FromStr;
16    #[test]
17    fn test_text2image_model_to_string() {
18        assert_eq!(Text2ImageModel::StableDiffusionXL.to_string(), "sd_xl");
19    }
20
21    #[test]
22    fn test_text2image_model_from_str() {
23        assert_eq!(
24            Text2ImageModel::from_str("sd_xl").unwrap(),
25            Text2ImageModel::StableDiffusionXL
26        );
27    }
28}