Skip to main content

codama_nodes/discriminator_nodes/
size_discriminator_node.rs

1use crate::SizeDiscriminatorNode;
2
3impl SizeDiscriminatorNode {
4    pub fn new(size: u64) -> Self {
5        Self { size }
6    }
7}
8
9#[cfg(test)]
10mod tests {
11    use super::*;
12
13    #[test]
14    fn new() {
15        let node = SizeDiscriminatorNode::new(42);
16        assert_eq!(node.size, 42);
17    }
18
19    #[test]
20    fn to_json() {
21        let node = SizeDiscriminatorNode::new(42);
22        let json = serde_json::to_string(&node).unwrap();
23        assert_eq!(json, r#"{"kind":"sizeDiscriminatorNode","size":42}"#);
24    }
25
26    #[test]
27    fn from_json() {
28        let json = r#"{"kind":"sizeDiscriminatorNode","size":42}"#;
29        let node: SizeDiscriminatorNode = serde_json::from_str(json).unwrap();
30        assert_eq!(node, SizeDiscriminatorNode::new(42));
31    }
32}