Beispiel #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)")))
Beispiel #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")))
Beispiel #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")))
Beispiel #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)))")))
Beispiel #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)))")))
Beispiel #6
0
 def test_rpn_decimal(self):
     calculator = Calculator()
     expected = [
         ValueToken(Decimal("6.2"))
     ]
     self.assertListEqual(expected, calculator.to_rpn(calculator.tokenize("6.2")))
Beispiel #7
0
 def test_rpn_value_parentheses(self):
     calculator = Calculator()
     expected = [
         ValueToken(Decimal(2))
     ]
     self.assertListEqual(expected, calculator.to_rpn(calculator.tokenize("(2)")))