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