diff --git a/calc/Calc_Test b/calc/Calc_Test new file mode 100644 index 0000000000000000000000000000000000000000..e9845a75b665406148393cd10cdfb29baa9cfee6 --- /dev/null +++ b/calc/Calc_Test @@ -0,0 +1,17 @@ +import unittest +from Calculator import Calculator + +class TestCalculator(unittest.TestCase): + def setUp(self): + self.calc = Calculator() + + def test_add(self): + self.assertEqual(self.calc.add(2, 3), 5) + self.assertEqual(self.calc.add(-1, 1), 0) + + def test_sub(self): + self.assertEqual(self.calc.sub(5, 3), 2) + self.assertEqual(self.calc.sub(10, 4), 6) + +if __name__ == "__main__": + unittest.main() diff --git a/calc/Calculator b/calc/Calculator new file mode 100644 index 0000000000000000000000000000000000000000..e2302285eae651f32b097b893796d9ac885ac922 --- /dev/null +++ b/calc/Calculator @@ -0,0 +1,17 @@ +from abc import ABC, abstractmethod + +class ICalculator(ABC): + @abstractmethod + def add(self, a, b): + pass + + @abstractmethod + def sub(self, a, b): + pass + +class Calculator(ICalculator): + def add(self, a, b): + return a + b + + def sub(self, a, b): + return a - b \ No newline at end of file