Skip to main content

tokenfold_core/
status.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
4#[serde(rename_all = "snake_case")]
5pub enum Status {
6    Compressed,
7    Passthrough,
8}
9
10#[cfg(test)]
11mod tests {
12    use super::*;
13
14    #[test]
15    fn serializes_to_canonical_snake_case_strings() {
16        assert_eq!(
17            serde_json::to_string(&Status::Compressed).unwrap(),
18            "\"compressed\""
19        );
20        assert_eq!(
21            serde_json::to_string(&Status::Passthrough).unwrap(),
22            "\"passthrough\""
23        );
24    }
25
26    #[test]
27    fn round_trips_through_json() {
28        for status in [Status::Compressed, Status::Passthrough] {
29            let json = serde_json::to_string(&status).unwrap();
30            let back: Status = serde_json::from_str(&json).unwrap();
31            assert_eq!(status, back);
32        }
33    }
34}