Add calculator with unit tests
This commit is contained in:
14
calculator.py
Normal file
14
calculator.py
Normal file
@@ -0,0 +1,14 @@
|
||||
class Calculator:
|
||||
def add(self, a, b):
|
||||
return a + b
|
||||
|
||||
def subtract(self, a, b):
|
||||
return a - b
|
||||
|
||||
def multiply(self, a, b):
|
||||
return a * b
|
||||
|
||||
def divide(self, a, b):
|
||||
if b == 0:
|
||||
raise ValueError("Division by zero is not allowed")
|
||||
return a / b
|
||||
27
test_calculator.py
Normal file
27
test_calculator.py
Normal file
@@ -0,0 +1,27 @@
|
||||
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_subtract(self):
|
||||
self.assertEqual(self.calc.subtract(5, 3), 2)
|
||||
self.assertEqual(self.calc.subtract(0, 0), 0)
|
||||
|
||||
def test_multiply(self):
|
||||
self.assertEqual(self.calc.multiply(2, 3), 6)
|
||||
self.assertEqual(self.calc.multiply(-1, 5), -5)
|
||||
|
||||
def test_divide(self):
|
||||
self.assertEqual(self.calc.divide(6, 3), 2)
|
||||
self.assertEqual(self.calc.divide(5, 2), 2.5)
|
||||
with self.assertRaises(ValueError):
|
||||
self.calc.divide(1, 0)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user