Exemplo n.º 1
0
class TrieTestCase(unittest.TestCase):
    def setUp(self):
        self.t = Trie()
        self.t.insert('abc', s.obj1)
        self.t.insert('abcde', s.obj2)
        self.t.insert('abcdef', s.obj3)

    def test_basic(self):
        t = Trie()
        t.insert('abcdef', s.foo)
        self.assertEqual(t.find('abcdef'), ('abcdef', s.foo))

    def test_find_shortest_prefix(self):
        result = self.t.find('abcdef', Trie.MODE_SHORTEST_PREFIX)
        self.assertEqual(result, ('abc', s.obj1))

    def test_find_longest_prefix(self):
        result = self.t.find('abcdeg', Trie.MODE_LONGEST_PREFIX)
        self.assertEqual(result, ('abcde', s.obj2))

    def test_find_exact_match(self):
        self.assertRaises(KeyError, self.t.find, 'abcdeg',
                          Trie.MODE_EXACT_ONLY)
        self.assertEqual(self.t.find('abcdef'), ('abcdef', s.obj3))

    def test_no_dups(self):
        t = Trie()
        t.insert('abcdef', s.foo)
        self.assertRaises(DuplicateKeyError, t.insert, 'abcdef')
Exemplo n.º 2
0
class TrieTestCase(unittest.TestCase):
    def setUp(self):
        self.t = Trie()
        self.t.insert('abc', s.obj1)
        self.t.insert('abcde', s.obj2)
        self.t.insert('abcdef', s.obj3)

    def test_basic(self):
        t = Trie()
        t.insert('abcdef', s.foo)
        self.assertEqual(t.find('abcdef'), ('abcdef', s.foo))

    def test_find_shortest_prefix(self):
        result = self.t.find('abcdef', Trie.MODE_SHORTEST_PREFIX)
        self.assertEqual(result, ('abc', s.obj1))

    def test_find_longest_prefix(self):
        result = self.t.find('abcdeg', Trie.MODE_LONGEST_PREFIX)
        self.assertEqual(result, ('abcde', s.obj2))

    def test_find_exact_match(self):
        self.assertRaises(KeyError, self.t.find, 'abcdeg', Trie.MODE_EXACT_ONLY)
        self.assertEqual(self.t.find('abcdef'), ('abcdef', s.obj3))

    def test_no_dups(self):
        t = Trie()
        t.insert('abcdef', s.foo)
        self.assertRaises(DuplicateKeyError, t.insert, 'abcdef')
Exemplo n.º 3
0
 def test_no_dups(self):
     t = Trie()
     t.insert('abcdef', s.foo)
     self.assertRaises(DuplicateKeyError, t.insert, 'abcdef')
Exemplo n.º 4
0
 def test_basic(self):
     t = Trie()
     t.insert('abcdef', s.foo)
     self.assertEqual(t.find('abcdef'), ('abcdef', s.foo))
Exemplo n.º 5
0
 def setUp(self):
     self.t = Trie()
     self.t.insert('abc', s.obj1)
     self.t.insert('abcde', s.obj2)
     self.t.insert('abcdef', s.obj3)
Exemplo n.º 6
0
 def test_no_dups(self):
     t = Trie()
     t.insert('abcdef', s.foo)
     self.assertRaises(DuplicateKeyError, t.insert, 'abcdef')
Exemplo n.º 7
0
 def test_basic(self):
     t = Trie()
     t.insert('abcdef', s.foo)
     self.assertEqual(t.find('abcdef'), ('abcdef', s.foo))
Exemplo n.º 8
0
 def setUp(self):
     self.t = Trie()
     self.t.insert('abc', s.obj1)
     self.t.insert('abcde', s.obj2)
     self.t.insert('abcdef', s.obj3)