Exemplo n.º 1
0
def test_calls_operators_with_correct_arguments():
    operators = {
        "+": Mock(wraps=operator.add),
        "*": Mock(wraps=operator.mul),
        "-": Mock(wraps=operator.sub)
    }

    evaluate_rpn([5, 4, 1, "-", "*", 2, "+"], operators)

    operators["-"].assert_called_once_with(4, 1)
    operators["*"].assert_called_once_with(5, 3)
    operators["+"].assert_called_once_with(15, 2)
Exemplo n.º 2
0
def test_computes_correct_value():
    assert evaluate_rpn([5, 4, 1, "-", "*", 2, "+"], OPERATORS) == 17
Exemplo n.º 3
0
 def test_addition_of_two_numbers(self):
     self.assertEqual(evaluate_rpn('4 7 +'), 11)
Exemplo n.º 4
0
 def test_subtraction_of_two_numbers(self):
     self.assertEqual(evaluate_rpn('7 4 -'), 3)
Exemplo n.º 5
0
 def test_multiplication_and_negation_of_two_numbers(self):
     self.assertEqual(evaluate_rpn('5 8 * n p'), -40)
Exemplo n.º 6
0
 def test_addition_and_exponential_power_raise_of_three_numbers(self):
     self.assertEqual(evaluate_rpn('3 6 1 + + 2 e p'), 100)
Exemplo n.º 7
0
 def test_addition_of_three_numbers(self):
     self.assertEqual(evaluate_rpn('4 7 3 + + p'), 14)
Exemplo n.º 8
0
 def test_exponential_of_two_numbers(self):
     self.assertEqual(evaluate_rpn('6 2 e'), 36)
Exemplo n.º 9
0
 def test_negation_of_a_number(self):
     self.assertEqual(evaluate_rpn('40 n'), -40)
Exemplo n.º 10
0
 def test_floor_division_of_two_numbers(self):
     self.assertEqual(evaluate_rpn('5 2 //'), 2)
Exemplo n.º 11
0
 def test_multiplication_of_two_numbers(self):
     self.assertEqual(evaluate_rpn('5 8  *'), 40)