Пример #1
0
 def test_q_nosep(self):
     t = TST(sep=None)
     t['a'] =1
     t['b'] =1
     t['c'] =1
     self.assertTrue(set(dict(t.find('?')).keys()), set(t.keys()))
     t = TST(sep=None)
     t['/a'] = 1
     t['/b'] = 1
     t['/c'] = 1
     self.assertEquals(set(dict(t.find('??')).keys()), set(t.keys()))
     self.assertEquals(set(dict(t.find('/?')).keys()), set(t.keys()))
Пример #2
0
 def test_q(self):
     t = TST()
     t['a'] =1
     t['b'] =1
     t['c'] =1
     self.assertTrue(set(dict(t.find('?')).keys()), set(t.keys()))
     t = TST()
     t['/a'] = 1
     t['/b'] = 1
     t['/c'] = 1
     self.assertEquals(set(dict(t.find('??')).keys()), set())
     self.assertEquals(set(dict(t.find('/?')).keys()), set(t.keys()))
     t = TST()
     t['dog'] = 1
     t['dig'] = 1
     t['dug'] = 1
     self.assertEquals(set(dict(t.find('d?g')).keys()),set(t.keys()))
Пример #3
0
 def test_keys(self):
     s = set()
     l1 = list()
     t = TST()
     for x in xrange(100):
         k = base64.b64encode(os.urandom(x%10 + 1)).rstrip('=')
         if k in s: continue
         l1.append(k)
         t[k] = x
         s.add(k)
     l1.sort()
     self.assertEquals(l1, t.keys())
Пример #4
0
 def test_match(self):
     t = TST(sep=None)
     t['what'] = 1
     t['where'] = 1
     t['when'] = 1
     t['widget'] = 1
     t['wizard'] = 1
     t['wow'] = 1
     t['wowo'] = 1
     self.assertEquals(dict(t.find('w*e*')), {'where':1,'when':1,'widget':1})
     self.assertEquals(dict(t.find('*e')), {'where':1})
     self.assertEquals(dict(t.find('*et')), {'widget':1})
     self.assertEquals(dict(t.find('wo*')), {'wow':1, 'wowo':1})
     self.assertEquals(dict(t.find('*a*')), {'what':1, 'wizard':1})
     self.assertEquals(dict(t.find('*za*')), {'wizard':1})
     for k in t.keys():
         self.assertEquals(dict(t.find(k)), {k:1})
     self.assertEquals(dict(t.find('*dg*')), {'widget':1})
     self.assertEquals(dict(t.find('*he*')), {'when':1, 'where':1})