Chapter folders renamed
This commit is contained in:
@@ -0,0 +1 @@
|
||||
#empty file
|
||||
@@ -0,0 +1,4 @@
|
||||
# myadd.py with add two numbers
|
||||
def add(x, y):
|
||||
"""This function adds two numbers"""
|
||||
return x + y
|
||||
@@ -0,0 +1,8 @@
|
||||
# myadd3.py is a class with with add two numbers method
|
||||
|
||||
def add( 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
|
||||
@@ -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
|
||||
Binary file not shown.
@@ -0,0 +1,32 @@
|
||||
# test_myadd3.py test suite for myadd function
|
||||
|
||||
import pytest
|
||||
from mypytest.src.myadd3 import add
|
||||
|
||||
|
||||
def test_add1():
|
||||
""" test case to validate two positive numbers"""
|
||||
assert add(10, 5) == 15
|
||||
|
||||
|
||||
def test_add2():
|
||||
""" test case to validate two positive numbers"""
|
||||
assert add(10, -5) == 5, "should be 5"
|
||||
|
||||
def test_add3():
|
||||
""" test case to validate two positive numbers"""
|
||||
assert add(-10, 5) == -5
|
||||
|
||||
def test_add4():
|
||||
""" test case to validate two positive numbers"""
|
||||
assert add(-10, -5) == -15
|
||||
|
||||
def ttest_typeerror1():
|
||||
""" test case to check if we can handle non number input"""
|
||||
with pytest.raises(TypeError):
|
||||
add('a', 5)
|
||||
|
||||
def ttest_typeerror2():
|
||||
""" test case to check if we can handle non number input"""
|
||||
with pytest.raises(TypeError, match="only numbers are allowed"):
|
||||
add('a', 'b')
|
||||
@@ -0,0 +1,24 @@
|
||||
# test_myadd4.py test suite for myadd function using markers
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
from mypytest.src.myadd3 import add
|
||||
|
||||
@pytest.mark.skip
|
||||
def test_add1():
|
||||
""" test case to validate two positive numbers"""
|
||||
assert add(10, 5) == 15
|
||||
|
||||
@pytest.mark.skipif(sys.version_info > (3,6),
|
||||
reason=" skipped for release > than Python 3.6")
|
||||
def test_add2():
|
||||
""" test case to validate two positive numbers"""
|
||||
assert add(10, -5) == 5, "should be 5"
|
||||
|
||||
@pytest.mark.xfail(sys.platform == "darwin",
|
||||
reason="ignore exception for mac")
|
||||
def test_add3():
|
||||
""" test case to validate two positive numbers"""
|
||||
assert add(-10, 5) == -5
|
||||
raise Exception()
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
# test_myadd5.py test suite using parameterize marker
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
from mypytest.src.myadd3 import add
|
||||
|
||||
@pytest.mark.parametrize("x,y,ans",
|
||||
[(10,5,15),(10,-5,5),
|
||||
(-10,5,-5),(-10,-5,-15)],
|
||||
ids=["pos-pos","pos-neg",
|
||||
"neg-pos", "neg-neg"])
|
||||
def test_add(x, y, ans):
|
||||
""" test case to validate two positive numbers"""
|
||||
assert add(x, y) == ans
|
||||
@@ -0,0 +1,23 @@
|
||||
# test_mycalc1.py test calc functions using test fixture
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
from mypytest.src.myadd3 import add
|
||||
from mypytest.src.mycalc import MyCalc
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def my_calc():
|
||||
return MyCalc()
|
||||
|
||||
@pytest.fixture
|
||||
def test_data():
|
||||
return {'x':10, 'y':5}
|
||||
|
||||
def test_add(my_calc, test_data):
|
||||
""" test case to validate two positive numbers"""
|
||||
assert my_calc.add(test_data.get('x'), test_data.get('y')) == 15
|
||||
|
||||
def test_subtract(my_calc, test_data):
|
||||
""" test case to validate two positive numbers"""
|
||||
assert my_calc.subtract(test_data.get('x'), test_data.get('y')) == 5
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
# test_mycalc2.py test calc functions using test fixture
|
||||
|
||||
import pytest
|
||||
from mypytest.src.myadd3 import add
|
||||
from mypytest.src.mycalc import MyCalc
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def my_calc():
|
||||
my_calc = MyCalc()
|
||||
yield my_calc
|
||||
del my_calc
|
||||
|
||||
@pytest.fixture
|
||||
def data_set(request):
|
||||
dict = {'x':10, 'y':5}
|
||||
def delete_dict():
|
||||
del dict
|
||||
request.addfinalizer(delete_dict)
|
||||
return dict
|
||||
|
||||
def test_add(my_calc, data_set):
|
||||
""" test case to validate two positive numbers"""
|
||||
assert my_calc.add(data_set.get('x'), data_set.get('y')) == 15
|
||||
|
||||
def test_subtract(my_calc, data_set):
|
||||
""" test case to validate two positive numbers"""
|
||||
assert my_calc.subtract(data_set.get('x'), data_set.get('y')) == 5
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
#empty file
|
||||
@@ -0,0 +1,4 @@
|
||||
# myadd.py with add two numbers
|
||||
def add(x, y):
|
||||
"""This function adds two numbers"""
|
||||
return x + y
|
||||
@@ -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
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user