Exemple #1
0
 def testNormalizingBang(self):
     self.assertEqual(Run('【加一】(那啥)咋整:唠唠:那啥加一!整完了!\n' '整【加一】(五)!'), '6\n')
 def testDecrements(self):
     self.assertEqual(Run(u'老张是活雷锋。老张装二。老张退退。唠唠:老张。'), '1\n')
     self.assertEqual(Run(u'老张是活雷锋。老张装三。老张退五步。唠唠:老张。'), '-2\n')
Exemple #3
0
 def testCompound(self):
     self.assertEqual(Run('开整:整完了。'), '')
     self.assertEqual(Run('开整:唠唠:1。整完了。'), '1\n')
     self.assertEqual(Run('开整:唠唠:1。唠唠:2。整完了。'), '1\n2\n')
Exemple #4
0
 def testFuncCallWithParam(self):
     self.assertEqual(Run('【加一】(那啥)咋整:唠唠:那啥加一。整完了。\n' '整【加一】(五)。'), '6\n')
Exemple #5
0
 def testPrintBool(self):
     self.assertEqual(Run('老王是活雷锋。唠唠:老王。唠唠:老王啥也不是。'), '啥也不是\n对\n')
     self.assertEqual(Run('唠唠:五比二大。'), '对\n')
     self.assertEqual(Run('唠唠:五比二大、五比二小、一跟2一样一样的、1跟二不是一样一样的。'), '对错错对\n')
Exemple #6
0
 def testIntegerLiteral(self):
     self.assertEqual(Run('唠唠:零。'), '0\n')
     self.assertEqual(Run('唠唠:一。'), '1\n')
     self.assertEqual(Run('唠唠:二。'), '2\n')
     self.assertEqual(Run('唠唠:两。'), '2\n')
     self.assertEqual(Run('唠唠:俩。'), '2\n')
     self.assertEqual(Run('唠唠:三。'), '3\n')
     self.assertEqual(Run('唠唠:仨。'), '3\n')
     self.assertEqual(Run('唠唠:四。'), '4\n')
     self.assertEqual(Run('唠唠:五。'), '5\n')
     self.assertEqual(Run('唠唠:六。'), '6\n')
     self.assertEqual(Run('唠唠:七。'), '7\n')
     self.assertEqual(Run('唠唠:八。'), '8\n')
     self.assertEqual(Run('唠唠:九。'), '9\n')
     self.assertEqual(Run('唠唠:十。'), '10\n')
Exemple #7
0
 def testArithmetic(self):
     self.assertEqual(Run('唠唠:五加二。'), '7\n')
     self.assertEqual(Run('唠唠:五减二。'), '3\n')
     self.assertEqual(Run('唠唠:五乘二。'), '10\n')
     self.assertEqual(Run('唠唠:十除以二。'), '5.0\n')
     self.assertEqual(Run('唠唠:十齐整整地除以三。'), '3\n')
     self.assertEqual(Run('唠唠:十刨掉一堆堆三。'), '1\n')
     self.assertEqual(Run('唠唠:十刨掉一堆堆五。'), '0\n')
     self.assertEqual(Run('唠唠:五加七乘二。'), '19\n')
     self.assertEqual(Run('唠唠:(五加七)乘二。'), '24\n')
     self.assertEqual(Run('唠唠:(五加七)乘二。'), '24\n')
     self.assertEqual(Run('唠唠:(五减(四减三))乘二。'), '8\n')
     self.assertEqual(Run('唠唠:拉饥荒(五加二)。'), '-7\n')
     self.assertEqual(
         Run('''
   张家庄都是活雷锋。
   张家庄来了个42。
   唠唠:拉饥荒张家庄的老大。
   '''), '-42\n')
Exemple #8
0
 def testLoopWithNoStatement(self):
     self.assertEqual(Run('老张从1到2磨叽:磨叽完了。'), '')
 def testNormalizingBang(self):
     self.assertEqual(Run(u'【加一】(几)咋整:唠唠:几加一!整完了!\n' u'整【加一】(五)!'), u'6\n')
Exemple #10
0
 def testPrintBool(self):
     self.assertEqual(Run('老王是活雷锋。唠唠:老王。唠唠:老王啥也不是。'), '啥也不是\n没毛病\n')
     self.assertEqual(Run('唠唠:五比二还大。'), '没毛病\n')
     self.assertEqual(Run('唠唠:五比二还大、五比二还小、一跟2一样一样的、1跟二不是一样一样的。'),
                      '没毛病有毛病有毛病没毛病\n')
Exemple #11
0
 def testFuncWithReturnValue(self):
     self.assertEqual(Run(u'【加一】(几)咋整:滚犊子吧几加一。整完了。\n'
                          u'唠唠:整【加一】(二)。'), u'3\n')
Exemple #12
0
 def testFuncCallWithParam(self):
     self.assertEqual(Run(u'【加一】(几)咋整:唠唠:几加一。整完了。\n' u'整【加一】(五)。'), u'6\n')
Exemple #13
0
 def testPrintBool(self):
     self.assertEqual(Run(u'唠唠:五比二大。'), u'对\n')
     self.assertEqual(Run(u'唠唠:五比二大、五比二小、一跟2一样一样的、1跟二不是一样一样的。'), u'对错错对\n')
Exemple #14
0
 def testVarAssignmentFromVar(self):
     self.assertEqual(Run('老张是活雷锋。\n老王是活雷锋。\n'
                          '老张装250。\n老王装老张。\n唠唠:老王。'), '250\n')
Exemple #15
0
 def testCommandLine(self):
     self.assertTrue('dongbei_test.py' in Run('''唠唠:最高指示。'''))
Exemple #16
0
 def testLoop(self):
     self.assertEqual(Run('老张从1到3磨叽:唠唠:老张。磨叽完了。'), '1\n2\n3\n')
Exemple #17
0
 def testRunHelloWorld(self):
     self.assertEqual(Run('唠唠:“这旮旯儿嗷嗷美好哇!”。'), '这旮旯儿嗷嗷美好哇!\n')
Exemple #18
0
 def testLoopWithMultipleStatements(self):
     self.assertEqual(Run('老张从1到2磨叽:唠唠:老张。唠唠:老张加一。磨叽完了。'), '1\n2\n2\n3\n')
Exemple #19
0
 def testRunHelloWorld2(self):
     self.assertEqual(Run('唠唠:“你那旮旯儿也挺美好哇!”。'), '你那旮旯儿也挺美好哇!\n')
Exemple #20
0
 def testDelete(self):
     self.assertEqual(Run('老王是活雷锋。老王装二。削老王!唠唠:老王。'), '啥也不是\n')
Exemple #21
0
 def testVarDecl(self):
     self.assertEqual(Run('老张是活雷锋。'), '')
Exemple #22
0
 def testConcat(self):
     self.assertEqual(Run('唠唠:“牛”、二。'), '牛2\n')
     self.assertEqual(Run('唠唠:“老王”、665加一。'), '老王666\n')
Exemple #23
0
 def testVarAssignment(self):
     self.assertEqual(Run('老张是活雷锋。\n老张装250。\n唠唠:老张。'), '250\n')
Exemple #24
0
 def testRunFunc(self):
     self.assertEqual(Run('埋汰咋整:唠唠:“你虎了吧唧”。整完了。'), '')
     self.assertEqual(Run('埋汰咋整:唠唠:“你虎了吧唧”。整完了。整埋汰。'), '你虎了吧唧\n')
Exemple #25
0
 def testVarQuotesAreOptional(self):
     self.assertEqual(Run('老张装二。唠唠:【老张】。'), '2\n')
Exemple #26
0
 def testFuncWithReturnValue(self):
     self.assertEqual(Run('【加一】(那啥)咋整:滚犊子吧那啥加一。整完了。\n'
                          '唠唠:整【加一】(二)。'), '3\n')
Exemple #27
0
 def testColonCanBeNarrow(self):
     self.assertEqual(Run('老张装二。唠唠:【老张】。'), '2\n')
Exemple #28
0
 def testRunEmptyProgram(self):
     self.assertEqual(Run(''), '')
Exemple #29
0
 def testIncrements(self):
     self.assertEqual(Run(u'老张是活雷锋。老张装二。老张走走。唠唠:老张。'), '3\n')
     self.assertEqual(Run(u'老张是活雷锋。老张装三。老张走五步。唠唠:老张。'), '8\n')