codama_nodes/display_nodes/
date_time_number_display_node.rs1use 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}