def test21(self):
     udoFileStr = """a = "a";
                     b = "b";
                     d = "d";
                     c = a @ b @ "111" @ d @ "111";
                     c"""
     self.assertEqual(doTestParsing(udoFileStr), "ab111d111")
 def test38(self):
     udoFileStr = """a = 2;
                     if a > 1 || a < 0 do
                         a = 5;
                     endif;
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), 5)
 def test9(self):
     udoFileStr = """a = 0;
                     while a < 10 do
                         a++;
                     endwhile;
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), 10)
 def test14(self):
     udoFileStr = """x = 30;
                     a = (2*tan(x)) / (1 - tan(x)^2);
                     b = (2*sin(x)*cos(x)) / (1 - 2*sin(x)^2);
                     c = abs(a - b);
                     d = c < 0.000000001;
                     d"""
     self.assertEqual(doTestParsing(udoFileStr), 1)
 def test12(self):
     udoFileStr = """a = 2;
                     b = 3;
                     c = 4;
                     d = 5;
                     a = a * b * c * d;
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), 2 * 3 * 4 * 5)
    def test36(self):
        udoFileStr = """a = 0;
                        while a < 10 do
	                        ADDLINE(2, 5); 
                            a++;
                        endwhile;
                        a"""
        self.assertEqual(doTestParsing(udoFileStr), 10)
 def test30(self):
     udoFileStr = """a = 3;
                     if a > 1 do 
                         if a > 2 do
                             a = 10; 
                         endif;
                     endif;
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), 10)
 def test10(self):
     udoFileStr = """a = 0;
                     b = 15;
                     while (a < 10) && (b > 11) do
                         a++;
                         b = b - 1;
                     endwhile;
                     b"""
     self.assertEqual(doTestParsing(udoFileStr), 11)
 def test31(self):
     udoFileStr = """a = 10;
                     b = 10;
                     while a > 0 do 
                         a--;
                         while b < 20 do
                             b++;
                         endwhile;
                     endwhile;
                     b"""
     self.assertEqual(doTestParsing(udoFileStr), 20)
 def test32(self):
     udoFileStr = """a = 0;
                     b = 0;
                     c = 0;
                     while a < 10 do 
                         a++;
                         while (b < 10) && (b != 5) do
                             b++;
                             while c < 10 do
                                 c = c + 1;
                             endwhile;
                         endwhile;
                     endwhile;
                     b"""
     self.assertEqual(doTestParsing(udoFileStr), 5)
 def test19(self):
     udoFileStr = """a = "abc";
                     c = a @ "1a1a";
                     c"""
     self.assertEqual(doTestParsing(udoFileStr), "abc1a1a")
 def test13(self):
     udoFileStr = """a = 2.5*(cos(5.5)^2 + sin(5.5)^2); 
                     b = abs(a - 2.5);
                     c = b < 0.000000001;
                     c"""
     self.assertEqual(doTestParsing(udoFileStr), 1)
 def test11(self):
     udoFileStr = """a = 2;
                     b = 3;
                     a = a * b;
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), 6)
 def test27(self):
     udoFileStr = """a = sin(90) + cos(0.0) <= 1 + 1;
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), 1)
 def test28(self):
     udoFileStr = """a = sqrt(4) < 1;
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), 0)
 def test25(self):
     udoFileStr = """a = "str";
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), "str")
 def test26(self):
     udoFileStr = """a = abs(2 - 2.5) < 1;
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), 1)
 def test37(self):
     udoFileStr = """a = .2;
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), 0.2)
 def test15(self):
     udoFileStr = """a = 1;
                     b = 0;
                     x = ((a || b) && (a && b)) || (a >= b);
                     x"""
     self.assertEqual(doTestParsing(udoFileStr), 1)
 def test35(self):
     udoFileStr = """b = 5;
                     a = (b < 10) && (b != 5);
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), 0)
 def test33(self):
     udoFileStr = """a = 2;
                     if (a < 5) || (a > 1) do a = 10; endif;
                     a = -a * a;
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), -100)
 def test18(self):
     udoFileStr = """a = "abc";
                     c = "1a1a" @ a;
                     c"""
     self.assertEqual(doTestParsing(udoFileStr), "1a1aabc")
 def test17(self):
     udoFileStr = """a = "abc";
                     b = "cde";
                     c = a @ b;
                     c"""
     self.assertEqual(doTestParsing(udoFileStr), "abccde")
 def test16(self):
     udoFileStr = """a = 1;
                     b = 0;
                     x = ((a == b) || (b > a) || ((a+b) > b)) && b;
                     x"""
     self.assertEqual(doTestParsing(udoFileStr), 0)
 def test34(self):
     udoFileStr = """a = 0;
                     if a do a = 10; endif;
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), 0)
 def test20(self):
     udoFileStr = """c = "2222bbbb" @ "1a1a";
                     c"""
     self.assertEqual(doTestParsing(udoFileStr), "2222bbbb1a1a")
 def test6(self):
     udoFileStr = """a = 2;
                     a = -a * a;
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), -4)
 def test23(self):
     udoFileStr = """str = "";
                     a = 2;
                     if str do a = 10; endif;
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), 2)
 def test4(self):
     udoFileStr = """a = -(2*10+2^3-4/(8-6));
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), -26)
 def test8(self):
     udoFileStr = """a = 2;
                     if a > 5 do a = 10; endif;
                     a = -a * a;
                     a"""
     self.assertEqual(doTestParsing(udoFileStr), -4)