Exemple #1
0
    def test_expression_with_missing_operator(self):
        expression = "((100+20)3-10/2+11-1*(10+34)-54)"
        c1 = Calc(expression)
        expected = 'missing operator near parentheses'
        actual = c1.expression_result()
        self.assertEqual(actual, expected)

        expression = "((100+20)*3-10/2+11-2(10+34)-54)"
        c2 = Calc(expression)
        expected = 'missing operator near parentheses'
        actual = c2.expression_result()
        self.assertEqual(actual, expected)
Exemple #2
0
    def test_expressions_with_floats(self):
        expression = "100+2.345*3-10/2"
        c1 = Calc(expression)
        expected = 'Expression contains float number(s)'
        actual = c1.expression_result()
        self.assertEqual(actual, expected)

        expression = "100,34+2*3-10/2"
        c2 = Calc(expression)
        expected = 'Expression contains float number(s)'
        actual = c2.expression_result()
        self.assertEqual(actual, expected)
Exemple #3
0
 def test_expression_with_ten_numbers(self):
     expression = "100+20*3-10/2+11-1*10+34-54"
     c = Calc(expression)
     expected = (10, "100+20*3-10/2+11-1*10+34-54",
                 100 + 20 * 3 - 10 / 2 + 11 - 1 * 10 + 34 - 54)
     actual = c.expression_result()
     self.assertEqual(actual, expected)
Exemple #4
0
 def test_expression_with_correct_parentheses(self):
     expression = "((100+20)*3-10/2+11-1*(10+34)-54)"
     c = Calc(expression)
     expected = (10, "((100+20)*3-10/2+11-1*(10+34)-54)",
                 ((100 + 20) * 3 - 10 / 2 + 11 - 1 * (10 + 34) - 54))
     actual = c.expression_result()
     self.assertEqual(actual, expected)
Exemple #5
0
 def test_expression_with_other_arith_operators(self):
     """
     This test case for demonstration a bug
     """
     expression = "10%3+2-2**2"
     c = Calc(expression)
     expected = 'Expression contains nondigital symbol(s) or invalid operator(s)'
     self.assertEqual(c.expression_result(), expected)
Exemple #6
0
 def test_expression_with_one_number(self):
     expression = "/555"
     c = Calc(expression)
     expected = 'Expression must contain minimum 2 numbers'
     actual = c.expression_result()
     self.assertEqual(actual, expected)
Exemple #7
0
 def test_expressions_with_letter(self):
     expression = "1a+2*3-10/2"
     c = Calc(expression)
     expected = 'Expression contains nondigital symbol(s) or invalid operator(s)'
     actual = c.expression_result()
     self.assertEqual(actual, expected)
Exemple #8
0
 def test_valid_expressions(self):
     expression = "1+2*3-10/2"
     c = Calc(expression)
     expected = (5, "1+2*3-10/2", 1 + 2 * 3 - 10 / 2)
     actual = c.expression_result()
     self.assertEqual(actual, expected)
Exemple #9
0
 def test_expression_contains_division_by_zero(self):
     expression = "10/0+2"
     c = Calc(expression)
     expected = "Error. Your expression contains division by zero"
     self.assertEqual(c.expression_result(), expected)
Exemple #10
0
 def test_expression_with_incorrect_parentheses(self):
     expression = "((100+20)*3)-10/2+11-1*(10+34)-54)"
     c = Calc(expression)
     expected = 'Missing bracket(s)'
     actual = c.expression_result()
     self.assertEqual(actual, expected)
Exemple #11
0
 def test_expression_with_more_then_ten_numbers(self):
     expression = "100+20*3-10/2+11-1*10+34-54+21*2-7"
     c = Calc(expression)
     expected = 'Expression contain more than 10 numbers'
     actual = c.expression_result()
     self.assertEqual(actual, expected)