Esempio n. 1
0
 def testParseCallExpr(self):
     self.assertEqual(ParseExprFromStr('整老王')[0], CallExpr('老王', []))
     self.assertEqual(
         ParseExprFromStr('整老王(5)')[0],
         CallExpr('老王', [IntegerLiteralExpr(5)]))
     self.assertEqual(
         ParseExprFromStr('整老王(6)')[0],
         CallExpr('老王', [IntegerLiteralExpr(6)]))
     self.assertEqual(
         ParseExprFromStr('整老王(老刘,6)')[0],
         CallExpr(
             '老王',
             [VariableExpr('老刘'), IntegerLiteralExpr(6)]))
     self.assertEqual(
         ParseExprFromStr('整老王(“你”,老刘,6)')[0],
         CallExpr('老王', [
             StringLiteralExpr('你'),
             VariableExpr('老刘'),
             IntegerLiteralExpr(6)
         ]))
     self.assertEqual(
         ParseExprFromStr('整老王(“你”,老刘,6)')[0],
         CallExpr('老王', [
             StringLiteralExpr('你'),
             VariableExpr('老刘'),
             IntegerLiteralExpr(6)
         ]))
Esempio n. 2
0
 def testParseConcatExpr(self):
     self.assertEqual(
         ParseExprFromStr('老王加油、2、“哈”')[0],
         ConcatExpr([
             ArithmeticExpr(VariableExpr('老王'), Keyword('加'),
                            VariableExpr('油')),
             IntegerLiteralExpr(2),
             StringLiteralExpr('哈')
         ]))
Esempio n. 3
0
 def testParseStringLiteral(self):
     self.assertEqual(
         ParseExprFromStr('“ 哈  哈   ”')[0], StringLiteralExpr(' 哈  哈   '))