コード例 #1
0
class TestExpr(unittest.TestCase):
  expr = None

  expressions = lambda: (
      ('2 + 3',             '5'),
      ('2 - 3',             '-1'),
      ('2 * 3',             '6'),
      ('4 / 2',             '2.0'),
      ('2 + 3 * 4',         '14'),
      ('2 + 3 * 4 + 5',     '19'),
      ('4 + 2 * 5 / 2 - 6', '3.0'),
      ('4 / 2 * 2 + 9 - 1', '12.0')
  )

  def setUp(self):
      self.expr = Expr()

  def tearDown(self):
      self.expr = None

  @data_provider(expressions)
  def test_expr_eval_string(self, expr, expected):
      self.assertEqual(self.expr.eval_string(expr), expected + '\n', 'expr=' + expr)
コード例 #2
0
# License: MIT

import sys

from Expr import Expr


if __name__ == '__main__':
    expr = Expr()

    if len(sys.argv) > 1:
        print(expr.eval_file(sys.argv[1]))
    else:
        print(expr.eval_string(sys.stdin.readline()))