Adding chapter 5 source code

This commit is contained in:
muassif
2021-02-21 21:40:34 +04:00
committed by GitHub
parent e8469ec365
commit e662762d09
24 changed files with 348 additions and 0 deletions
@@ -0,0 +1 @@
#empty file
+4
View File
@@ -0,0 +1,4 @@
# myadd.py with add two numbers
def add(x, y):
"""This function adds two numbers"""
return x + y
+8
View File
@@ -0,0 +1,8 @@
# myadd2.py is a class with with add two numbers method
class MyAdd:
def add(self, x, y):
"""This function adds two numbers"""
if (not isinstance(x, (int, float))) | \
(not isinstance(y, (int, float))) :
raise TypeError("only numbers are allowed")
return x + y
+19
View File
@@ -0,0 +1,19 @@
# mycalc.py with add,subtract, multiply and divide functions
class MyCalc:
def add(self, x, y):
"""This function adds two numbers"""
return x + y
def subtract(self, x, y):
"""This function subtracts two numbers"""
return x - y
def multiply(self, x, y):
"""This function subtracts two numbers"""
return x * y
def divide(self, x, y):
"""This function subtracts two numbers"""
return x / y
@@ -0,0 +1 @@
#empty file
@@ -0,0 +1,24 @@
#test_myadd1.py test suite for myadd function
import unittest
from myunittest.src.myadd.myadd import add
class MyAddTestSuite(unittest.TestCase):
def test_add1(self):
""" test case to validate two positive numbers"""
self.assertEqual(15, add(10 , 5), "should be 15")
def test_add2(self):
""" test case to validate positive and negative numbers"""
self.assertEqual(5, add(10 , -5), "should be 5")
def test_add3(self):
""" test case to validate positive and negative numbers"""
self.assertEqual(-5, add(-10 , 5), "should be -5")
def test_add4(self):
""" test case to validate two negative numbers"""
self.assertEqual(-15, add(-10 , -5), "should be -15")
if __name__ == '__main__':
unittest.main()
@@ -0,0 +1,30 @@
#test_myadd2.py test suite for myadd2 class method
import unittest
from myunittest.src.myadd.myadd2 import MyAdd
class MyAddTestSuite(unittest.TestCase):
def setUp(self):
self.myadd = MyAdd()
def tearDown(self):
del (self.myadd)
def test_add1(self):
""" test case to validate two positive numbers"""
self.assertEqual(15, self.myadd.add(10 , 5), "should be 15")
def test_add2(self):
""" test case to validate positive and negative numbers"""
self.assertEqual(5, self.myadd.add(10 , -5), "should be 5")
def test_add3(self):
""" test case to validate positive and negative numbers"""
self.assertEqual(-5, self.myadd.add(-10 , 5), "should be -5")
def test_add4(self):
""" test case to validate two negative numbers"""
self.assertEqual(-15, self.myadd.add(-10 , -5), "should be -15")
if __name__ == '__main__':
unittest.main()
@@ -0,0 +1,19 @@
#test_myadd3.py test suite for myadd2 class method to validate errors
import unittest
from myunittest.src.myadd.myadd2 import MyAdd
class MyAddTestSuite(unittest.TestCase):
def setUp(self):
self.myadd = MyAdd()
def test_typeerror1(self):
""" test case to check if we can handle non number input"""
self.assertRaises(TypeError, self.myadd.add, 'a' , -5)
def test_typeerror2(self):
""" test case to check if we can handle non number input"""
self.assertRaises(TypeError, self.myadd.add, 'a' , 'b')
if __name__ == '__main__':
unittest.main()
@@ -0,0 +1,27 @@
# test_mycalc_add.py test suite for add class method
import unittest
from test_mycalc_add import MyCalcAddTestSuite
from test_mycalc_subtract import MyCalcSubtractTestSuite
from test_mycalc_multiply import MyCalcMultiplyTestSuite
from test_mycalc_divide import MyCalcDivideTestSuite
def run_mytests():
test_classes = [MyCalcAddTestSuite, MyCalcSubtractTestSuite,
MyCalcMultiplyTestSuite,MyCalcDivideTestSuite ]
loader = unittest.TestLoader()
test_suites = []
for t_class in test_classes:
suite = loader.loadTestsFromTestCase(t_class)
test_suites.append(suite)
final_suite = unittest.TestSuite(test_suites)
runner = unittest.TextTestRunner()
results = runner.run(final_suite)
#print(results)
if __name__ == '__main__':
run_mytests()
@@ -0,0 +1,16 @@
# test_mycalc_add.py test suite for add class method
import unittest
from myunittest.src.mycalc.mycalc import MyCalc
class MyCalcAddTestSuite(unittest.TestCase):
def setUp(self):
self.calc = MyCalc()
def test_add(self):
""" test case to validate two positive numbers"""
self.assertEqual(15, self.calc.add(10, 5), "should be 15")
if __name__ == '__main__':
unittest.main()
@@ -0,0 +1,15 @@
#test_mycalc_divide.py test suite for divide class method
import unittest
from myunittest.src.mycalc.mycalc import MyCalc
class MyCalcDivideTestSuite(unittest.TestCase):
def setUp(self):
self.calc = MyCalc()
def test_divide(self):
""" test case to validate two positive numbers"""
self.assertEqual(2, self.calc.divide(10 , 5), "should be 2")
if __name__ == '__main__':
unittest.main()
@@ -0,0 +1,15 @@
#test_mycalc_multiply.py test suite for multiply class method
import unittest
from myunittest.src.mycalc.mycalc import MyCalc
class MyCalcMultiplyTestSuite(unittest.TestCase):
def setUp(self):
self.calc = MyCalc()
def test_multiply(self):
""" test case to validate two positive numbers"""
self.assertEqual(50, self.calc.multiply(10 , 5), "should be 50")
if __name__ == '__main__':
unittest.main()
@@ -0,0 +1,15 @@
#test_mycalc_subtract.py test suite for substract class method
import unittest
from myunittest.src.mycalc.mycalc import MyCalc
class MyCalcSubtractTestSuite(unittest.TestCase):
def setUp(self):
self.calc = MyCalc()
def test_subtract(self):
""" test case to validate two positive numbers"""
self.assertEqual(5, self.calc.subtract(10 , 5), "should be 5")
if __name__ == '__main__':
unittest.main()