Adding chapter 5 source code
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user