Skip to content

Commit 1b29e66

Browse files
committed
Finished adding testing functions
1 parent f612fb2 commit 1b29e66

File tree

1 file changed

+33
-35
lines changed

1 file changed

+33
-35
lines changed

tests/test_sciware_testing_python.py

+33-35
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,21 @@ def test_adding_vectors():
2424

2525

2626
def test_add_zero_length_vectors():
27-
""" """
27+
""" Test function for adding empty vectors"""
2828
assert stp.add_vectors([], []) == []
2929

3030

31-
############################################################
31+
#######################################################################
32+
# Advance pytest topics #
33+
#######################################################################
3234
# Pytest useful decorators
3335
# - fixture
34-
# - mark.skip
35-
# - mark.parametrize
3636
# - mark.xfail
37+
# - mark.parametrize
38+
# - mark.skip
39+
40+
# Possible other discussion
41+
# - pytest.approx(val, rel=1e-5)
3742

3843

3944
@pytest.fixture
@@ -46,10 +51,11 @@ def generate_numbers():
4651
return random.sample(range(100), 10)
4752

4853

54+
# shortcuts for pytest decorators
4955
skip = pytest.mark.skip
5056
parametrize = pytest.mark.parametrize
5157
xfail = pytest.mark.xfail
52-
###########################################################
58+
#######################################################################
5359

5460

5561
def test_random_sum_numbers(generate_numbers):
@@ -67,42 +73,34 @@ def test_random_sum_numbers_add_1(generate_numbers):
6773
assert our_result == sum(generate_numbers) + 1
6874

6975

70-
@xfail(strict=True)
71-
def test_add_different_length_vectors():
72-
"""TODO: Docstring for test_add_zero_length_vectors.
73-
@return: TODO
74-
76+
@xfail
77+
def test_sum_numbers_with_bad_args():
78+
""" Test sum numbers when not given good input
7579
"""
76-
assert False
80+
bad_number_list = ['these', 'R', False, "#s"]
81+
result = stp.sum_numbers(bad_number_list)
7782

7883

79-
@skip
80-
def test_add_skip_test():
81-
"""TODO: Docstring for test_add_zero_length_vectors.
82-
@return: TODO
84+
@pytest.mark.parametrize("number_list, expect_val", [
85+
([1, 2, 3], 6),
86+
([-2, 0, 1], -1),
87+
([3.5, 7.25, -.75], 10),
88+
])
89+
def test_parametrize_sum_numbers(number_list, expect_val):
90+
assert stp.sum_numbers(number_list) == expect_val
8391

84-
"""
85-
assert False
8692

93+
@xfail(strict=True)
94+
def test_add_different_length_vectors():
95+
"""
96+
"""
97+
v1 = [2, 3, 4]
98+
v2 = [4, 9, 16, 25]
99+
result = stp.add_vectors(v1, v2) # doctest: +IGNORE_EXCEPTION_DETAIL
87100

88-
@xfail
89-
def test_adding_vectores_with_bad_args():
90-
"""TODO: Docstring for test_adding_lists_with_bad_args.
91-
@return: TODO
92101

102+
@skip
103+
def test_add_skip_test():
104+
""" This test would fail if not for the decorator
93105
"""
94106
assert False
95-
# TEST_CASE("Test Adding Vectors with Bad Args")
96-
# {
97-
# // Setup
98-
# const int N = 10, M = 100;
99-
# std::vector<double> v1(N);
100-
# std::vector<double> v2(M);
101-
102-
# // Generally check that it throws an exception
103-
# REQUIRE_THROWS(add_vectors(v1, v2));
104-
105-
# // Check that it throws a specific type of exception
106-
# REQUIRE_THROWS_AS(add_vectors(v1, v2), std::invalid_argument);
107-
# }
108-
pass

0 commit comments

Comments
 (0)