def test_Epsilon_04(self): """Manually creating a kleene closure.""" a = Single('a') e = Union(Final(), a) a.replace_all_final(e) self.assertAccept('', e) self.assertAccept('a', e) self.assertAccept('aaa', e) self.denyAccept('b', e) self.assertTypes(e, {Single : 1, Final : 1, Union : 1})
def test_single_01(self): """Manually creating a positive closure.""" a = Single('a') f = Final() u = Union(f, a) a.successor = u self.assertAccept('a', a) self.assertAccept('aa', a) self.assertAccept('aaa', a) self.denyAccept('', a) self.denyAccept('b', a) self.denyAccept('ab', a) self.denyAccept('ba', a) self.denyAccept('aba', a) self.assertTypes(a, {Single : 1, Union : 1, Final : 1})