示例#1
0
    def test_replace(self):
        s1 = 'TO_BE_OR_NOT_TO_BE' + st.DELIMIT
        s2 = 'TO BE OR NOT TO BE' + st.DELIMIT
        ec1 = list(st.equivalence_classes(s1))
        ec2 = list(st.equivalence_classes(s2))

        def rep(s, x):
            s[x[0]:x[1]].replace('_', ' ')

        self.assertEqual([rep(s2, x.pos) for x in ec2],
                         [rep(s1, x.pos) for x in ec1])
示例#2
0
 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))
示例#3
0
 def test_tf(self):
     s = 'mississippi' + st.DELIMIT
     ec = st.equivalence_classes(s)
     self.assertEqual(['issi', 'i', 'mississippi', 'p'], [s[x.pos[0]:x.pos[1]] for x in ec if x])