use gen_rs::Trie; #[test] fn test_trie() { let mut trie = Trie::::new(); trie.insert_leaf_node("1 => 2", 1); trie.insert_leaf_node("1", 2); trie.insert_leaf_node("1 => 3", 3); trie.insert_leaf_node("1 => 3 => 4", 4); assert_eq!(trie.get_internal_node("1").unwrap().get_leaf_node("2"), trie.get_leaf_node("1 => 2")); assert_eq!( trie.get_internal_node("1").unwrap() .get_internal_node("3").unwrap() .get_leaf_node("4"), trie.get_leaf_node("1 => 3 => 4") ); let mut subtrie = Trie::::new(); subtrie.insert_leaf_node("2", 1); subtrie.insert_leaf_node("3", 3); subtrie.insert_leaf_node("3 => 4", 4); let mut root = Trie::::new(); root.insert_internal_node("1", subtrie); root.insert_leaf_node("1", 2); assert_eq!(root, trie); }