From 3622ffbfe5f0c23ee475bf76c108970cf01d6ff1 Mon Sep 17 00:00:00 2001 From: yashinomi Date: Fri, 13 Nov 2020 00:23:17 +0900 Subject: [PATCH] add unit test --- calc_py/test_parse_equation.py | 67 ++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 calc_py/test_parse_equation.py diff --git a/calc_py/test_parse_equation.py b/calc_py/test_parse_equation.py new file mode 100644 index 0000000..23be26e --- /dev/null +++ b/calc_py/test_parse_equation.py @@ -0,0 +1,67 @@ +import unittest +from calc_str_eval import parse_add_or_minus, parse_multi_or_div + + +class TestEquationParse(unittest.TestCase): + def test_additive(self): + correct: int = 1 + equation: str = "0+1" + result = parse_add_or_minus(equation) + self.assertEqual(correct, result) + + correct: int = 5 + equation: str = "2+3" + result = parse_add_or_minus(equation) + self.assertEqual(correct, result) + + def test_substractive(self): + correct: int = -1 + equation: str = "0-1" + result = parse_add_or_minus(equation) + self.assertEqual(correct, result) + + correct: int = 1 + equation: str = "2-1" + result = parse_add_or_minus(equation) + self.assertEqual(correct, result) + + def test_mult(self): + correct: int = 0 + equation: str = "0*1" + result = parse_multi_or_div(equation) + self.assertEqual(correct, result) + + correct: int = 2 + equation: str = "2*1" + result = parse_multi_or_div(equation) + self.assertEqual(correct, result) + + +def main(): + try: + correct: int = 3 + equation: str = "0+1*3" + result = parse_add_or_minus(equation) + assert correct == result, f"want {correct}, got {result}" + + correct: int = -1 + equation: str = "0*3-1" + result = parse_add_or_minus(equation) + assert correct == result, f"want {correct}, got {result}" + + correct: int = 0 + equation: str = "2/2-1" + result = parse_add_or_minus(equation) + assert correct == result, f"want {correct}, got {result}" + + correct: int = 5 + equation: str = "2+3+1-2/2" + result = parse_add_or_minus(equation) + assert correct == result, f"want {correct}, got {result}" + + except AssertionError as err: + print("AssertionError :", err) + + +if __name__ == "__main__": + main()