def test_equiv(self): s = 'abrab' + st.DELIMIT ec = st.equivalence_classes(s) ss = set() for x in ec: for y in list(st.pincer(s, x.pos, x.minimal)): if y.find(st.DELIMIT) < 0: ss.add(y) #print 'pincer', list(st.pincer(s, x.pos, x.minimal)), x self.assertEqual(sorted(set(all_substrings(s[0:len(s)-1]))), sorted(ss))
def test_pincer(self): s = 'ABCDE' q = 'BCD' m = 'C' self.assertEqual(['BC', 'C', 'BCD', 'CD'], list(st.pincer(s, get_pos(s, q), [get_pos(s, m)])))
def test_pincer0(self): p1 = st.pincer(' ABCDEF', (1,3), [(1,2)]) p2 = st.pincer('ABCDEF', (0,2), [(0,1)]) self.assertEqual(list(p1), list(p2))