Ejemplo n.º 1
0
 def test_rpn_operator_parentheses(self):
     calculator = Calculator()
     expected = [
         ValueToken(Decimal(2)),
         ValueToken(Decimal(4)),
         OperatorToken('+'),
     ]
     self.assertListEqual(expected, calculator.to_rpn(calculator.tokenize("(2 + 4)")))
Ejemplo n.º 2
0
 def test_rpn_division(self):
     calculator = Calculator()
     expected = [
         ValueToken(Decimal(6)),
         ValueToken(Decimal(3)),
         OperatorToken('/')
     ]
     self.assertListEqual(expected, calculator.to_rpn(calculator.tokenize("6 / 3")))
Ejemplo n.º 3
0
 def test_rpn_operator_precedence_with_parentheses(self):
     calculator = Calculator()
     expected = [
         ValueToken(Decimal(5)),
         ValueToken(Decimal(3)),
         OperatorToken('+'),
         ValueToken(Decimal(4)),
         OperatorToken('*')
     ]
     self.assertListEqual(expected, calculator.to_rpn(calculator.tokenize("(5 + 3) * 4")))
Ejemplo n.º 4
0
 def test_rpn_multiple_parentheses_decimal(self):
     calculator = Calculator()
     expected = [
         ValueToken(Decimal("3.5")),
         ValueToken(Decimal("2.7")),
         ValueToken(Decimal("4.8")),
         OperatorToken('+'),
         OperatorToken('*')
     ]
     self.assertListEqual(expected, calculator.to_rpn(calculator.tokenize("(3.5 * ((2.7) + (4.8)))")))
Ejemplo n.º 5
0
 def test_rpn_multiple_parentheses(self):
     calculator = Calculator()
     expected = [
         ValueToken(Decimal(3)),
         ValueToken(Decimal(2)),
         ValueToken(Decimal(4)),
         OperatorToken('+'),
         OperatorToken('*')
     ]
     self.assertListEqual(expected, calculator.to_rpn(calculator.tokenize("(3 * ((2) + (4)))")))
Ejemplo n.º 6
0
 def test_rpn_decimal(self):
     calculator = Calculator()
     expected = [
         ValueToken(Decimal("6.2"))
     ]
     self.assertListEqual(expected, calculator.to_rpn(calculator.tokenize("6.2")))
Ejemplo n.º 7
0
 def test_rpn_value_parentheses(self):
     calculator = Calculator()
     expected = [
         ValueToken(Decimal(2))
     ]
     self.assertListEqual(expected, calculator.to_rpn(calculator.tokenize("(2)")))