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()))
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()))
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())
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})