Example #1
0
 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})
Example #2
0
 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})