From fd2780380a5fb95bf2a0c8e059c946482c055140 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Monteiro=20J=C3=A1come?= Date: Sat, 19 Oct 2019 20:44:29 -0300 Subject: [PATCH 1/4] some pytest on math folder --- maths/3n+1.py | 8 ++++++++ maths/abs.py | 8 ++++++++ maths/average_mean.py | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/maths/3n+1.py b/maths/3n+1.py index 6b2dfc785794..e0a7b116965a 100644 --- a/maths/3n+1.py +++ b/maths/3n+1.py @@ -32,6 +32,14 @@ def main(): ) ) +def testn31(): + assert n31(4) == ([4, 2, 1], 3) + + assert n31(11) == ([11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1], 15) + + assert n31(31) == ([31, 94, 47, 142, 71, 214, 107, 322, 161, 484, 242, 121, 364, 182, 91, 274, 137, 412, 206, 103, 310, 155, 466, 233, 700, 350, 175, 526, 263, 790, 395, 1186, 593, 1780, 890, 445, 1336, 668, 334, 167, 502, 251, 754, 377, 1132, 566, 283, 850, 425, 1276, 638, 319, 958, 479, 1438, 719, 2158, 1079, 3238, 1619, 4858, 2429, 7288, 3644, 1822, 911, 2734, 1367, 4102, 2051, 6154, 3077, 9232, 4616, 2308, 1154, 577, 1732, 866, 433, 1300, 650, 325, 976, 488, 244, 122, 61, 184, 92, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1], 107) if __name__ == "__main__": main() + testn31() + diff --git a/maths/abs.py b/maths/abs.py index 7509c5c20a22..fcbbc60611ee 100644 --- a/maths/abs.py +++ b/maths/abs.py @@ -18,5 +18,13 @@ def main(): print(abs_val(-34)) # = 34 +def testAbs(): + assert 0 == abs_val(0) + + assert 34 == abs_val(34) + + assert 100000000000 == abs_val(-100000000000) + if __name__ == "__main__": main() + testAbs() diff --git a/maths/average_mean.py b/maths/average_mean.py index 77464ef5d9f7..0c2274d2c10e 100644 --- a/maths/average_mean.py +++ b/maths/average_mean.py @@ -12,5 +12,13 @@ def main(): print(average([2, 4, 6, 8, 20, 50, 70])) +def testAverage(): + assert 12.0 == average([3, 6, 9, 12, 15, 18, 21]) + + assert 20 == average([5, 10, 15, 20, 25, 30, 35]) + + assert 4.5 == average([1, 2, 3, 4, 5, 6, 7, 8]) + if __name__ == "__main__": main() + testAverage() \ No newline at end of file From 6f22b6b23903cc57ca7334042d3d636b9feb7b67 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Mon, 21 Oct 2019 22:00:45 +0200 Subject: [PATCH 2/4] Run the test function via a doctest Also format the code with psf/black as discussed in CONTRIBUTING.md --- maths/3n+1.py | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/maths/3n+1.py b/maths/3n+1.py index e0a7b116965a..ff769550297c 100644 --- a/maths/3n+1.py +++ b/maths/3n+1.py @@ -23,23 +23,16 @@ def n31(a: int) -> Tuple[List[int], int]: return path, len(path) -def main(): - num = 4 - path, length = n31(num) - print( - "The Collatz sequence of {0} took {1} steps. \nPath: {2}".format( - num, length, path - ) - ) - -def testn31(): +def test_n31(): + """ + >>> test_n31() + """ assert n31(4) == ([4, 2, 1], 3) - assert n31(11) == ([11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1], 15) - assert n31(31) == ([31, 94, 47, 142, 71, 214, 107, 322, 161, 484, 242, 121, 364, 182, 91, 274, 137, 412, 206, 103, 310, 155, 466, 233, 700, 350, 175, 526, 263, 790, 395, 1186, 593, 1780, 890, 445, 1336, 668, 334, 167, 502, 251, 754, 377, 1132, 566, 283, 850, 425, 1276, 638, 319, 958, 479, 1438, 719, 2158, 1079, 3238, 1619, 4858, 2429, 7288, 3644, 1822, 911, 2734, 1367, 4102, 2051, 6154, 3077, 9232, 4616, 2308, 1154, 577, 1732, 866, 433, 1300, 650, 325, 976, 488, 244, 122, 61, 184, 92, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1], 107) -if __name__ == "__main__": - main() - testn31() +if __name__ == "__main__": + num = 4 + path, length = n31(num) + print(f"The Collatz sequence of {num} took {length} steps. \nPath: {path}") From cb491cd4564a98949f3bf55bb070e71cd9682961 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Mon, 21 Oct 2019 22:29:11 +0200 Subject: [PATCH 3/4] Update abs.py --- maths/abs.py | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/maths/abs.py b/maths/abs.py index fcbbc60611ee..68c99a1d51d8 100644 --- a/maths/abs.py +++ b/maths/abs.py @@ -5,26 +5,24 @@ def abs_val(num): """ Find the absolute value of a number. - >>abs_val(-5) - 5 - >>abs_val(0) + >>> abs_val(-5.1) + 5.1 + >>> abs_val(-5) == abs_val(5) + True + >>> abs_val(0) 0 """ return -num if num < 0 else num -def main(): - """Print absolute value of -34.""" - print(abs_val(-34)) # = 34 - - -def testAbs(): +def test_abs_val(): + """ + >>> test_abs_val() + """ assert 0 == abs_val(0) - assert 34 == abs_val(34) - assert 100000000000 == abs_val(-100000000000) + if __name__ == "__main__": - main() - testAbs() + print(abs_val(-34)) # --> 34 From 4a61d9448570c657c2141741a224a240eb89db1d Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Mon, 21 Oct 2019 22:32:36 +0200 Subject: [PATCH 4/4] Update average_mean.py --- maths/average_mean.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/maths/average_mean.py b/maths/average_mean.py index 0c2274d2c10e..4beca1f741a0 100644 --- a/maths/average_mean.py +++ b/maths/average_mean.py @@ -3,22 +3,18 @@ def average(nums): """Find mean of a list of numbers.""" - avg = sum(nums) / len(nums) - return avg + return sum(nums) / len(nums) -def main(): - """Call average module to find mean of a specific list of numbers.""" - print(average([2, 4, 6, 8, 20, 50, 70])) - - -def testAverage(): +def test_average(): + """ + >>> test_average() + """ assert 12.0 == average([3, 6, 9, 12, 15, 18, 21]) - assert 20 == average([5, 10, 15, 20, 25, 30, 35]) - assert 4.5 == average([1, 2, 3, 4, 5, 6, 7, 8]) + if __name__ == "__main__": - main() - testAverage() \ No newline at end of file + """Call average module to find mean of a specific list of numbers.""" + print(average([2, 4, 6, 8, 20, 50, 70]))