def test_add(self): trie1 = NsTrie() trie1.add('com.example.foo') trie2 = NsTrie() trie2['com.example.foo'] = True expected = { 'com': { 'example': { 'foo': 'com.example.foo' } } } self.assertDictEqual(expected, self.to_py(trie1._NsTrie__struct)) self.assertDictEqual(expected, self.to_py(trie2._NsTrie__struct)) expected = set(('com.example.foo',)) self.assertSetEqual(expected, set(self.to_py(s) for s in trie1._NsTrie__child_nodes)) self.assertSetEqual(expected, set(self.to_py(s) for s in trie2._NsTrie__child_nodes)) with self.assertRaises(KeyError): trie1.add('com.example.foo')