コード例 #1
0
class InterpreterAdditionTestCase(unittest.TestCase):

    def test_single_digit_addition_no_whitespace(self):
        self.text = "1+1"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        result = self.interpreter.expr()
        self.assertEqual(result, eval(self.text))

    def test_integer_single_digit(self):
        self.text = "1"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        one = self.interpreter.expr()
        self.assertEqual(one, eval(self.text))

    def test_integer_double_digit(self):
        self.text = "12"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        twelve = self.interpreter.expr()
        self.assertEqual(twelve, eval(self.text))

    def test_integer_multidigit_plus_digit(self):
        self.text = "123+4"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        one_twenty_seven = self.interpreter.expr()
        self.assertEqual(one_twenty_seven, eval(self.text))
コード例 #2
0
class InterpreterAdditionTestCase(unittest.TestCase):
    def test_single_digit_addition_no_whitespace(self):
        self.text = "1+1"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        result = self.interpreter.expr()
        self.assertEqual(result, eval(self.text))

    def test_integer_single_digit(self):
        self.text = "1"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        one = self.interpreter.expr()
        self.assertEqual(one, eval(self.text))

    def test_integer_double_digit(self):
        self.text = "12"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        twelve = self.interpreter.expr()
        self.assertEqual(twelve, eval(self.text))

    def test_integer_multidigit_plus_digit(self):
        self.text = "123+4"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        one_twenty_seven = self.interpreter.expr()
        self.assertEqual(one_twenty_seven, eval(self.text))
コード例 #3
0
class InterpreterFloorDivisionTestCase(unittest.TestCase):
    def test_floor_division_no_truncation(self):
        self.text = "4 / 2"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        result = self.interpreter.expr()
        self.assertEqual(result, int(eval(self.text)))

    def test_floor_division_with_truncated_result(self):
        self.text = " 3 / 2"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        result = self.interpreter.expr()
        self.assertEqual(result, int(eval(self.text)))
コード例 #4
0
class InterpreterFloorDivisionTestCase(unittest.TestCase):
    def test_floor_division_no_truncation(self):
        self.text = "4 / 2"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        result = self.interpreter.expr()
        self.assertEqual(result, int(eval(self.text)))

    def test_floor_division_with_truncated_result(self):
        self.text = " 3 / 2"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        result = self.interpreter.expr()
        self.assertEqual(result, int(eval(self.text)))
コード例 #5
0
class InterpreterMultiplicationTestCase(unittest.TestCase):
    def test_multiplication(self):
        self.text = "2 * 3"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        result = self.interpreter.expr()
        self.assertEqual(result, eval(self.text))
コード例 #6
0
class InterpreterSubtractionTestCase(unittest.TestCase):
    def test_subtraction(self):
        self.text = "13 - 12"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        result = self.interpreter.expr()
        self.assertEqual(result, eval(self.text))
コード例 #7
0
class InterpreterLongExpressionTestCase(unittest.TestCase):
    def test_three_term_expression(self):
        self.text = "1 + 5 / 2"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        result = self.interpreter.expr()
        self.assertEqual(result, int(eval(self.text)))
コード例 #8
0
class InterpreterLongExpressionTestCase(unittest.TestCase):
    def test_three_term_expression(self):
        self.text = "1 + 5 / 2"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        result = self.interpreter.expr()
        self.assertEqual(result, int(eval(self.text)))
コード例 #9
0
class InterpreterSubtractionTestCase(unittest.TestCase):
    def test_subtraction(self):
        self.text = "13 - 12"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        result = self.interpreter.expr()
        self.assertEqual(result, eval(self.text))
コード例 #10
0
class InterpreterMultiplicationTestCase(unittest.TestCase):
    def test_multiplication(self):
        self.text = "2 * 3"
        self.lexer = Lexer(self.text)
        self.interpreter = Interpreter(self.lexer)
        result = self.interpreter.expr()
        self.assertEqual(result, eval(self.text))
コード例 #11
0
 def test_multiplication(self):
     self.text = "2 * 3"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     result = self.interpreter.expr()
     self.assertEqual(result, eval(self.text))
コード例 #12
0
 def test_subtraction(self):
     self.text = "13 - 12"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     result = self.interpreter.expr()
     self.assertEqual(result, eval(self.text))
コード例 #13
0
 def test_integer_multidigit_plus_digit(self):
     self.text = "123+4"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     one_twenty_seven = self.interpreter.expr()
     self.assertEqual(one_twenty_seven, eval(self.text))
コード例 #14
0
 def test_integer_double_digit(self):
     self.text = "12"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     twelve = self.interpreter.expr()
     self.assertEqual(twelve, eval(self.text))
コード例 #15
0
 def test_integer_double_digit(self):
     self.text = "12"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     twelve = self.interpreter.expr()
     self.assertEqual(twelve, eval(self.text))
コード例 #16
0
 def test_three_term_expression(self):
     self.text = "1 + 5 / 2"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     result = self.interpreter.expr()
     self.assertEqual(result, int(eval(self.text)))
コード例 #17
0
 def test_integer_multidigit_plus_digit(self):
     self.text = "123+4"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     one_twenty_seven = self.interpreter.expr()
     self.assertEqual(one_twenty_seven, eval(self.text))
コード例 #18
0
 def test_subtraction(self):
     self.text = "13 - 12"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     result = self.interpreter.expr()
     self.assertEqual(result, eval(self.text))
コード例 #19
0
 def test_multiplication(self):
     self.text = "2 * 3"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     result = self.interpreter.expr()
     self.assertEqual(result, eval(self.text))
コード例 #20
0
 def test_floor_division_with_truncated_result(self):
     self.text = " 3 / 2"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     result = self.interpreter.expr()
     self.assertEqual(result, int(eval(self.text)))
コード例 #21
0
 def test_floor_division_with_truncated_result(self):
     self.text = " 3 / 2"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     result = self.interpreter.expr()
     self.assertEqual(result, int(eval(self.text)))
コード例 #22
0
 def test_three_term_expression(self):
     self.text = "1 + 5 / 2"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     result = self.interpreter.expr()
     self.assertEqual(result, int(eval(self.text)))
コード例 #23
0
 def test_single_digit_addition_no_whitespace(self):
     self.text = "1+1"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     result = self.interpreter.expr()
     self.assertEqual(result, eval(self.text))
コード例 #24
0
 def test_integer_single_digit(self):
     self.text = "1"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     one = self.interpreter.expr()
     self.assertEqual(one, eval(self.text))
コード例 #25
0
 def test_single_digit_addition_no_whitespace(self):
     self.text = "1+1"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     result = self.interpreter.expr()
     self.assertEqual(result, eval(self.text))
コード例 #26
0
 def test_integer_single_digit(self):
     self.text = "1"
     self.lexer = Lexer(self.text)
     self.interpreter = Interpreter(self.lexer)
     one = self.interpreter.expr()
     self.assertEqual(one, eval(self.text))