def testEOF(self): """TreePatternLexer(): EOF""" lexer = TreePatternLexer(' \n \r \t ') type = lexer.nextToken() self.assertEqual(type, EOF) self.assertEqual(lexer.sval, '') self.assertFalse(lexer.error)
def testID(self): """TreePatternLexer(): ID""" lexer = TreePatternLexer('_foo12_bar') type = lexer.nextToken() self.failUnlessEqual(type, ID) self.failUnlessEqual(lexer.sval, '_foo12_bar') self.failUnlessEqual(lexer.error, False)
def testDot(self): """TreePatternLexer(): '.'""" lexer = TreePatternLexer('.') type = lexer.nextToken() self.assertEqual(type, DOT) self.assertEqual(lexer.sval, '') self.assertFalse(lexer.error)
def testEnd(self): """TreePatternLexer(): ')'""" lexer = TreePatternLexer(')') type = lexer.nextToken() self.assertEqual(type, END) self.assertEqual(lexer.sval, '') self.assertFalse(lexer.error)
def testPercent(self): """TreePatternLexer(): '%'""" lexer = TreePatternLexer('%') type = lexer.nextToken() self.assertEqual(type, PERCENT) self.assertEqual(lexer.sval, '') self.assertFalse(lexer.error)
def testError(self): """TreePatternLexer(): error""" lexer = TreePatternLexer('1') type = lexer.nextToken() self.assertEqual(type, EOF) self.assertEqual(lexer.sval, '') self.assertTrue(lexer.error)
def testBegin(self): """TreePatternLexer(): '('""" lexer = TreePatternLexer('(') type = lexer.nextToken() self.assertEqual(type, BEGIN) self.assertEqual(lexer.sval, '') self.assertFalse(lexer.error)
def testARG(self): """TreePatternLexer(): ARG""" lexer = TreePatternLexer(r'[ \]bla\n]') type = lexer.nextToken() self.assertEqual(type, ARG) self.assertEqual(lexer.sval, r' ]bla\n') self.assertFalse(lexer.error)
def testColon(self): """TreePatternLexer(): ':'""" lexer = TreePatternLexer(':') type = lexer.nextToken() self.assertEqual(type, COLON) self.assertEqual(lexer.sval, '') self.assertFalse(lexer.error)
def testID(self): """TreePatternLexer(): ID""" lexer = TreePatternLexer('_foo12_bar') type = lexer.nextToken() self.assertEqual(type, ID) self.assertEqual(lexer.sval, '_foo12_bar') self.assertFalse(lexer.error)
def testPercent(self): """TreePatternLexer(): '%'""" lexer = TreePatternLexer('%') type = lexer.nextToken() self.failUnlessEqual(type, PERCENT) self.failUnlessEqual(lexer.sval, '') self.failUnlessEqual(lexer.error, False)
def testBegin(self): """TreePatternLexer(): '('""" lexer = TreePatternLexer('(') type = lexer.nextToken() self.failUnlessEqual(type, BEGIN) self.failUnlessEqual(lexer.sval, '') self.failUnlessEqual(lexer.error, False)
def testColon(self): """TreePatternLexer(): ':'""" lexer = TreePatternLexer(':') type = lexer.nextToken() self.failUnlessEqual(type, COLON) self.failUnlessEqual(lexer.sval, '') self.failUnlessEqual(lexer.error, False)
def testDot(self): """TreePatternLexer(): '.'""" lexer = TreePatternLexer('.') type = lexer.nextToken() self.failUnlessEqual(type, DOT) self.failUnlessEqual(lexer.sval, '') self.failUnlessEqual(lexer.error, False)
def testEOF(self): """TreePatternLexer(): EOF""" lexer = TreePatternLexer(' \n \r \t ') type = lexer.nextToken() self.failUnlessEqual(type, EOF) self.failUnlessEqual(lexer.sval, '') self.failUnlessEqual(lexer.error, False)
def testError(self): """TreePatternLexer(): error""" lexer = TreePatternLexer('1') type = lexer.nextToken() self.failUnlessEqual(type, EOF) self.failUnlessEqual(lexer.sval, '') self.failUnlessEqual(lexer.error, True)
def testARG(self): """TreePatternLexer(): ARG""" lexer = TreePatternLexer('[ \\]bla\\n]') type = lexer.nextToken() self.failUnlessEqual(type, ARG) self.failUnlessEqual(lexer.sval, ' ]bla\\n') self.failUnlessEqual(lexer.error, False)
def testEnd(self): """TreePatternLexer(): ')'""" lexer = TreePatternLexer(')') type = lexer.nextToken() self.failUnlessEqual(type, END) self.failUnlessEqual(lexer.sval, '') self.failUnlessEqual(lexer.error, False)
def testLabel(self): """TreePatternParser: '(%a:A)'""" lexer = TreePatternLexer('(%a:A)') parser = TreePatternParser(lexer, self.wizard, TreePatternTreeAdaptor()) tree = parser.pattern() self.failUnless(isinstance(tree, TreePattern)) self.failUnlessEqual(tree.label, 'a')
def testNil(self): """TreePatternParser: 'nil'""" lexer = TreePatternLexer('nil') parser = TreePatternParser(lexer, self.wizard, self.adaptor) tree = parser.pattern() self.failUnless(isinstance(tree, CommonTree)) self.failUnlessEqual(tree.getType(), 0) self.failUnlessEqual(tree.getText(), None)
def testSingleNodeWithArg(self): """TreePatternParser: 'ID[foo]'""" lexer = TreePatternLexer('ID[foo]') parser = TreePatternParser(lexer, self.wizard, self.adaptor) tree = parser.pattern() self.failUnless(isinstance(tree, CommonTree)) self.failUnlessEqual(tree.getType(), 10) self.failUnlessEqual(tree.getText(), 'foo')
def testNil(self): """TreePatternParser: 'nil'""" lexer = TreePatternLexer('nil') parser = TreePatternParser(lexer, self.wizard, self.adaptor) tree = parser.pattern() self.assertIsInstance(tree, CommonTree) self.assertEqual(tree.getType(), 0) self.assertIsNone(tree.getText())
def testSingleNode(self): """TreePatternParser: 'ID'""" lexer = TreePatternLexer('ID') parser = TreePatternParser(lexer, self.wizard, self.adaptor) tree = parser.pattern() self.assertIsInstance(tree, CommonTree) self.assertEqual(tree.getType(), 10) self.assertEqual(tree.getText(), 'ID')
def testSingleLevelTree(self): """TreePatternParser: '(A B)'""" lexer = TreePatternLexer('(A B)') parser = TreePatternParser(lexer, self.wizard, self.adaptor) tree = parser.pattern() self.failUnless(isinstance(tree, CommonTree)) self.failUnlessEqual(tree.getType(), 5) self.failUnlessEqual(tree.getText(), 'A') self.failUnlessEqual(tree.getChildCount(), 1) self.failUnlessEqual(tree.getChild(0).getType(), 6) self.failUnlessEqual(tree.getChild(0).getText(), 'B')
def testError2(self): """TreePatternParser: '()'""" lexer = TreePatternLexer('()') parser = TreePatternParser(lexer, self.wizard, self.adaptor) tree = parser.pattern() self.assertIsNone(tree)
def testWildcard(self): """TreePatternParser: '(.)'""" lexer = TreePatternLexer('(.)') parser = TreePatternParser(lexer, self.wizard, self.adaptor) tree = parser.pattern() self.failUnless(isinstance(tree, WildcardTreePattern))
def testError3(self): """TreePatternParser: '(A ])'""" lexer = TreePatternLexer('(A ])') parser = TreePatternParser(lexer, self.wizard, self.adaptor) tree = parser.pattern() self.failUnless(tree is None)