示例#1
0
    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')