1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverimport unittest 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverimport antlr3 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverclass TestDFA(unittest.TestCase): 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver """Test case for the DFA class.""" 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver def setUp(self): 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver """Setup test fixure. 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver We need a Recognizer in order to instanciate a DFA. 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver """ 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver class TRecognizer(antlr3.BaseRecognizer): 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver api_version = 'HEAD' 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver self.recog = TRecognizer() 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver def testInit(self): 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver """DFA.__init__() 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Just a smoke test. 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver """ 29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver dfa = antlr3.DFA( 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver self.recog, 1, 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver eot=[], 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver eof=[], 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver min=[], 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver max=[], 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver accept=[], 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver special=[], 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver transition=[] 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ) 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver def testUnpack(self): 43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver """DFA.unpack()""" 44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver self.failUnlessEqual( 46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver antlr3.DFA.unpack( 47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver u"\1\3\1\4\2\uffff\1\5\22\uffff\1\2\31\uffff\1\6\6\uffff" 48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver u"\32\6\4\uffff\1\6\1\uffff\32\6" 49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ), 50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [ 3, 4, -1, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, 52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 6, -1, -1, -1, -1, -1, -1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, -1, -1, -1, -1, 6, -1, 55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 6, 6, 6, 6, 6 57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ] 58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ) 59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 61324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 62324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverif __name__ == "__main__": 63324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver unittest.main(testRunner=unittest.TextTestRunner(verbosity=2)) 64