Skip to main content

codama_nodes/display_nodes/
date_time_number_display_node.rs

1use crate::DateTimeNumberDisplayNode;
2
3impl DateTimeNumberDisplayNode {
4    pub fn new(ticks_per_second: Option<u64>) -> Self {
5        Self { ticks_per_second }
6    }
7}
8
9#[cfg(test)]
10mod tests {
11    use super::*;
12
13    #[test]
14    fn new() {
15        let node = DateTimeNumberDisplayNode::new(Some(1000));
16        assert_eq!(node.ticks_per_second, Some(1000));
17    }
18
19    #[test]
20    fn default() {
21        let node = DateTimeNumberDisplayNode::default();
22        assert_eq!(node.ticks_per_second, None);
23    }
24
25    #[test]
26    fn to_json() {
27        let node = DateTimeNumberDisplayNode::new(Some(1000));
28        let json = serde_json::to_string(&node).unwrap();
29        assert_eq!(
30            json,
31            r#"{"kind":"dateTimeNumberDisplayNode","ticksPerSecond":1000}"#
32        );
33    }
34
35    #[test]
36    fn from_json() {
37        let json = r#"{"kind":"dateTimeNumberDisplayNode","ticksPerSecond":1000}"#;
38        let node: DateTimeNumberDisplayNode = serde_json::from_str(json).unwrap();
39        assert_eq!(node, DateTimeNumberDisplayNode::new(Some(1000)));
40    }
41}