1*16467b97STreehugger Robot 2*16467b97STreehugger Robotimport unittest 3*16467b97STreehugger Robot 4*16467b97STreehugger Robotimport antlr3 5*16467b97STreehugger Robot 6*16467b97STreehugger Robot 7*16467b97STreehugger Robotclass TestDFA(unittest.TestCase): 8*16467b97STreehugger Robot """Test case for the DFA class.""" 9*16467b97STreehugger Robot 10*16467b97STreehugger Robot def setUp(self): 11*16467b97STreehugger Robot """Setup test fixure. 12*16467b97STreehugger Robot 13*16467b97STreehugger Robot We need a Recognizer in order to instanciate a DFA. 14*16467b97STreehugger Robot 15*16467b97STreehugger Robot """ 16*16467b97STreehugger Robot 17*16467b97STreehugger Robot class TRecognizer(antlr3.BaseRecognizer): 18*16467b97STreehugger Robot api_version = 'HEAD' 19*16467b97STreehugger Robot 20*16467b97STreehugger Robot self.recog = TRecognizer() 21*16467b97STreehugger Robot 22*16467b97STreehugger Robot 23*16467b97STreehugger Robot def testInit(self): 24*16467b97STreehugger Robot """DFA.__init__() 25*16467b97STreehugger Robot 26*16467b97STreehugger Robot Just a smoke test. 27*16467b97STreehugger Robot 28*16467b97STreehugger Robot """ 29*16467b97STreehugger Robot 30*16467b97STreehugger Robot dfa = antlr3.DFA( 31*16467b97STreehugger Robot self.recog, 1, 32*16467b97STreehugger Robot eot=[], 33*16467b97STreehugger Robot eof=[], 34*16467b97STreehugger Robot min=[], 35*16467b97STreehugger Robot max=[], 36*16467b97STreehugger Robot accept=[], 37*16467b97STreehugger Robot special=[], 38*16467b97STreehugger Robot transition=[] 39*16467b97STreehugger Robot ) 40*16467b97STreehugger Robot 41*16467b97STreehugger Robot 42*16467b97STreehugger Robot def testUnpack(self): 43*16467b97STreehugger Robot """DFA.unpack()""" 44*16467b97STreehugger Robot 45*16467b97STreehugger Robot self.failUnlessEqual( 46*16467b97STreehugger Robot antlr3.DFA.unpack( 47*16467b97STreehugger Robot u"\1\3\1\4\2\uffff\1\5\22\uffff\1\2\31\uffff\1\6\6\uffff" 48*16467b97STreehugger Robot u"\32\6\4\uffff\1\6\1\uffff\32\6" 49*16467b97STreehugger Robot ), 50*16467b97STreehugger Robot [ 3, 4, -1, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 51*16467b97STreehugger Robot -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, 52*16467b97STreehugger Robot -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53*16467b97STreehugger Robot 6, -1, -1, -1, -1, -1, -1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 54*16467b97STreehugger Robot 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, -1, -1, -1, -1, 6, -1, 55*16467b97STreehugger Robot 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 56*16467b97STreehugger Robot 6, 6, 6, 6, 6 57*16467b97STreehugger Robot ] 58*16467b97STreehugger Robot ) 59*16467b97STreehugger Robot 60*16467b97STreehugger Robot 61*16467b97STreehugger Robot 62*16467b97STreehugger Robotif __name__ == "__main__": 63*16467b97STreehugger Robot unittest.main(testRunner=unittest.TextTestRunner(verbosity=2)) 64