1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
14#[serde(rename_all = "lowercase")]
15pub enum RequesterType {
16 Human,
17 Agent,
18}
19
20#[cfg(test)]
21mod tests {
22 use super::*;
23
24 #[test]
25 fn test_serde_round_trip() {
26 for rt in [RequesterType::Human, RequesterType::Agent] {
27 let json = serde_json::to_string(&rt).unwrap();
28 let deserialized: RequesterType = serde_json::from_str(&json).unwrap();
29 assert_eq!(rt, deserialized);
30 }
31 }
32
33 #[test]
34 fn test_serde_lowercase() {
35 assert_eq!(serde_json::to_string(&RequesterType::Human).unwrap(), "\"human\"");
36 assert_eq!(serde_json::to_string(&RequesterType::Agent).unwrap(), "\"agent\"");
37 }
38}