def test_to_dict(self): trie = NsTrie(( 'com.example.foo', 'org.example.foo', 'org.example.bar', 'com.foo.Baz', )) expected = { 'com': { 'example': { 'foo': 'com.example.foo', }, 'foo': { 'Baz': 'com.foo.Baz', }, }, 'org': { 'example': { 'foo': 'org.example.foo', 'bar': 'org.example.bar', }, }, } self.assertDictEqual(expected, trie.to_dict())
def test_remove(self): trie = NsTrie(( 'com.example.foo', 'com.example.bar' )) trie.remove('com.example') self.assertDictEqual({'com': 'com'}, trie.to_dict()) self.assertSetEqual(set(('com',)), trie.child_nodes) self.assertEqual(1, len(trie)) with self.assertRaises(KeyError): trie.remove('org.example.foo')