def test_cat(self):
    a = NFA.build_a('a')
    b = NFA.build_a('b')
    ab = NFA.build_cat(a, b)

    self.assert_(ab.initial)
    self.assert_(ab.finals)
 def test_a(self):
   a = NFA.build_a('a')
   self.assert_(a.initial)
   self.assert_(a.finals)
   self.assertEqual(len(a.states) , 2)
   self.assertEqual(
     a.states[a.initial],
     dict({'a': a.finals})
   )
 def test_zom(self):
   a = NFA.build_a('a')
   azom = NFA.build_zom(a)
 
   self.assert_(azom.initial)
   self.assert_(azom.finals)
 def alpha(self, t):
   nfa = NFA.build_a(t.raw) #ugh! t.value?
   self.push(nfa)