예제 #1
0
 def test_evaluate_operators(self):
     calculator = Calculator()
     self.assertEqual(Decimal(3), calculator.evaluate("+3"))
     self.assertEqual(Decimal(-3), calculator.evaluate("-3"))
     self.assertEqual(Decimal(6), calculator.evaluate("2 * 3"))
     self.assertEqual(Decimal(2), calculator.evaluate("6 / 3"))
     self.assertEqual(Decimal(5), calculator.evaluate("2 + 3"))
     self.assertEqual(Decimal(3), calculator.evaluate("7 - 4"))
예제 #2
0
def evaluate():
    data = request.get_json()
    expression = data['expression'];

    calculator = Calculator(converter)
    result = calculator.evaluate(expression)

    return jsonify({'result': result})
예제 #3
0
 def test_evaluate(self):
     calculator = Calculator()
     self.assertEqual(Decimal(4), calculator.evaluate("4"))
     self.assertEqual(Decimal(21), calculator.evaluate("7 * 3"))
     self.assertEqual(Decimal(11), calculator.evaluate("2 * 4 + 3"))
     self.assertEqual(Decimal(45), calculator.evaluate("(3 * (2 + 5)) + 6 * (4)"))
     self.assertEqual(Decimal("25.92"), calculator.evaluate("2.7 * (3.2 + 6.4)"))
     self.assertEqual(Decimal(1), calculator.evaluate("-2 * -4 + -7"))
예제 #4
0
 def test_evaluate_operator_precedences(self):
     calculator = Calculator()
     self.assertEqual(Decimal(-14), calculator.evaluate("-3 * 5 + +1"))
     self.assertEqual(Decimal("6.5"), calculator.evaluate("8 / -16 - -7"))
     self.assertEqual(Decimal(30), calculator.evaluate("5 * 3 * 8 / 4 / 2 * 6 / 3"))
     self.assertEqual(Decimal(-3), calculator.evaluate("2 + 3 + 4 - 5 - 8 + 6 + 4 - 9"))
def test_evaluate_complex(test_input, expected):
    """Test evaluate() observes order of operations."""
    calculator = Calculator(roman)
    assert calculator.evaluate(test_input) == expected
def test_evaluate_simple(test_input, expected):
    """Test evaluate() performs basic math from string expression."""
    calculator = Calculator(roman)
    assert calculator.evaluate(test_input) == expected
예제 #7
0
import sys
from calculator.calculator import Calculator

__author__ = 'Frank van Heeswijk'

if __name__ == '__main__':
    if len(sys.argv) < 2:
        print("Usage: calculator_application \"<expression>\"")
        sys.exit(1)
    calculator = Calculator()
    expression = " ".join(sys.argv[1:])
    result = calculator.evaluate(expression)
    print(result)