def test_node_get_child(self): """ Test TrieNode.get_child method """ # check on node with no children node = TrieNode() for letter in string.ascii_lowercase: self.assertIsNone(node.get_child(letter)) # add children and check on each one children = [TrieNode() for i in range(len(string.ascii_lowercase))] node.children = children for i, letter in enumerate(string.ascii_lowercase): result = node.get_child(letter) self.assertIs(result, node.children[i])
def test_node_delete_child(self): """ Test TrieNode.delete_child method """ # add children node = TrieNode() children = [TrieNode() for i in range(len(string.ascii_lowercase))] node.children = children # ensure all children are deleted for i, letter in enumerate(string.ascii_lowercase): self.assertIsNotNone(node.children[i]) node.delete_child(letter) self.assertIsNone(node.children[i]) self.assertTrue(node.empty())