From ff09802015c98fe036684eb62ea84972486ac392 Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Wed, 18 Oct 2023 12:02:33 +0530 Subject: [PATCH 01/21] Added new tests! --- maths/power_using_recursion.py | 74 +++++++++++++++++++++------------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/maths/power_using_recursion.py b/maths/power_using_recursion.py index e82635ba0005..f5e2a8987243 100644 --- a/maths/power_using_recursion.py +++ b/maths/power_using_recursion.py @@ -11,43 +11,61 @@ Output --> 2 to the power of 0 is 1 """ +import pytest def power(base: int, exponent: int) -> float: """ - >>> power(3, 4) + Calculate the power of a base raised to an exponent. + + Examples: + >>> power(3, 4) # Positive exponent 81 - >>> power(2, 0) + >>> power(2, 0) # Zero exponent 1 + >>> power(5, -3) # Negative exponent + 0.008 >>> all(power(base, exponent) == pow(base, exponent) - ... for base in range(-10, 10) for exponent in range(10)) + ...     for base in range(-10, 10) for exponent in range(10)) # Check against built-in pow() function True - >>> power('a', 1) - 'a' - >>> power('a', 2) - Traceback (most recent call last): - ... - TypeError: can't multiply sequence by non-int of type 'str' - >>> power('a', 'b') - Traceback (most recent call last): - ... - TypeError: unsupported operand type(s) for -: 'str' and 'int' - >>> power(2, -1) - Traceback (most recent call last): - ... - RecursionError: maximum recursion depth exceeded """ - return base * power(base, (exponent - 1)) if exponent else 1 + if exponent == 0: + return 1 + elif exponent < 0: + return 1 / power(base, -exponent) + else: + return base * power(base, exponent - 1) + + +@pytest.mark.parametrize("base, exponent", [(1, 2), (2, 3), (3, 4)]) +def test_power_positive_exponent(base, exponent): + assert power(base, exponent) == pow(base, exponent) + + +@pytest.mark.parametrize("base, exponent", [(1, -2), (2, -3), (3, -4)]) +def test_power_negative_exponent(base, exponent): + assert power(base, exponent) == 1 / pow(base, -exponent) + + +def test_power_zero_exponent(): + assert power(1, 0) == 1 + assert power(2, 0) == 1 + assert power(3, 0) == 1 + + +def test_power_with_non_integer_exponent(): + assert power(2, 0.5) == pytest.approx(1.4142135623730951) + assert power(5, -1.5) == pytest.approx(0.4) + assert power(3, 1.3) == pytest.approx(5.916079783099617) + +def test_power_raises_type_error(): + with pytest.raises(TypeError): + power("abc", 2) + with pytest.raises(TypeError): + power(2, "def") -if __name__ == "__main__": - from doctests import testmod - testmod() - print("Raise base to the power of exponent using recursion...") - base = int(input("Enter the base: ").strip()) - exponent = int(input("Enter the exponent: ").strip()) - result = power(base, abs(exponent)) - if exponent < 0: # power() does not properly deal w/ negative exponents - result = 1 / result - print(f"{base} to the power of {exponent} is {result}") +def test_power_raises_value_error(): + with pytest.raises(ValueError): + power(2, -10) From c605c660fd7c971aa7a58218df2f258980a7e5c5 Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Wed, 18 Oct 2023 12:03:25 +0530 Subject: [PATCH 02/21] [ADD]: Inproved Tests --- maths/power_using_recursion.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maths/power_using_recursion.py b/maths/power_using_recursion.py index f5e2a8987243..844a8430cdeb 100644 --- a/maths/power_using_recursion.py +++ b/maths/power_using_recursion.py @@ -67,5 +67,5 @@ def test_power_raises_type_error(): def test_power_raises_value_error(): - with pytest.raises(ValueError): + witSh pytest.raises(ValueError): power(2, -10) From 9780df114139ad1f38718b7e5ba2e06f2f0a3ae7 Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Wed, 18 Oct 2023 12:28:41 +0530 Subject: [PATCH 03/21] fixed --- maths/power_using_recursion.py | 46 ++++++---------------------------- 1 file changed, 8 insertions(+), 38 deletions(-) diff --git a/maths/power_using_recursion.py b/maths/power_using_recursion.py index 844a8430cdeb..680e07ea7b49 100644 --- a/maths/power_using_recursion.py +++ b/maths/power_using_recursion.py @@ -11,7 +11,6 @@ Output --> 2 to the power of 0 is 1 """ -import pytest def power(base: int, exponent: int) -> float: @@ -19,14 +18,12 @@ def power(base: int, exponent: int) -> float: Calculate the power of a base raised to an exponent. Examples: - >>> power(3, 4) # Positive exponent + >>> power(3, 4) 81 - >>> power(2, 0) # Zero exponent + >>> power(2, 0) 1 - >>> power(5, -3) # Negative exponent - 0.008 >>> all(power(base, exponent) == pow(base, exponent) - ...     for base in range(-10, 10) for exponent in range(10)) # Check against built-in pow() function + ...     for base in range(-10, 10) for exponent in range(10)) True """ if exponent == 0: @@ -37,35 +34,8 @@ def power(base: int, exponent: int) -> float: return base * power(base, exponent - 1) -@pytest.mark.parametrize("base, exponent", [(1, 2), (2, 3), (3, 4)]) -def test_power_positive_exponent(base, exponent): - assert power(base, exponent) == pow(base, exponent) - - -@pytest.mark.parametrize("base, exponent", [(1, -2), (2, -3), (3, -4)]) -def test_power_negative_exponent(base, exponent): - assert power(base, exponent) == 1 / pow(base, -exponent) - - -def test_power_zero_exponent(): - assert power(1, 0) == 1 - assert power(2, 0) == 1 - assert power(3, 0) == 1 - - -def test_power_with_non_integer_exponent(): - assert power(2, 0.5) == pytest.approx(1.4142135623730951) - assert power(5, -1.5) == pytest.approx(0.4) - assert power(3, 1.3) == pytest.approx(5.916079783099617) - - -def test_power_raises_type_error(): - with pytest.raises(TypeError): - power("abc", 2) - with pytest.raises(TypeError): - power(2, "def") - - -def test_power_raises_value_error(): - witSh pytest.raises(ValueError): - power(2, -10) +if __name__ == "__main__": + base = int(input("Enter the base: ").strip()) + exponent = int(input("Enter the exponent: ").strip()) + result = power(base, exponent) + print(f"{base} to the power of {exponent} is {result}") From 35aca479d0b85c7a92b3f9958eb3f4525dbfe727 Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Thu, 19 Oct 2023 02:34:09 +0530 Subject: [PATCH 04/21] Removed spaces --- maths/power_using_recursion.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maths/power_using_recursion.py b/maths/power_using_recursion.py index 680e07ea7b49..5b91ac69976f 100644 --- a/maths/power_using_recursion.py +++ b/maths/power_using_recursion.py @@ -23,7 +23,7 @@ def power(base: int, exponent: int) -> float: >>> power(2, 0) 1 >>> all(power(base, exponent) == pow(base, exponent) - ...     for base in range(-10, 10) for exponent in range(10)) + ...for base in range(-10, 10) for exponent in range(10)) True """ if exponent == 0: From 0c5eb560b714a01a7b216944513012aa887fa5dd Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Thu, 19 Oct 2023 03:30:38 +0530 Subject: [PATCH 05/21] Changed the file name --- maths/{power_using_recursion.py => power_recursion.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename maths/{power_using_recursion.py => power_recursion.py} (100%) diff --git a/maths/power_using_recursion.py b/maths/power_recursion.py similarity index 100% rename from maths/power_using_recursion.py rename to maths/power_recursion.py From 3c7ee47436b35152847000da47e9616e493bb23f Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Thu, 19 Oct 2023 03:50:25 +0530 Subject: [PATCH 06/21] Added Changes --- maths/power_recursion.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maths/power_recursion.py b/maths/power_recursion.py index 5b91ac69976f..8baa746cb439 100644 --- a/maths/power_recursion.py +++ b/maths/power_recursion.py @@ -23,7 +23,7 @@ def power(base: int, exponent: int) -> float: >>> power(2, 0) 1 >>> all(power(base, exponent) == pow(base, exponent) - ...for base in range(-10, 10) for exponent in range(10)) + ... for base in range(-10, 10) for exponent in range(10)) True """ if exponent == 0: From 07fb30013d6c16fbae232f9ad4ac573f4d6b3d3b Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Thu, 19 Oct 2023 09:24:40 +0530 Subject: [PATCH 07/21] changed the code and kept the test cases --- ...wer_recursion.py => power_using_recursion.py} | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) rename maths/{power_recursion.py => power_using_recursion.py} (71%) diff --git a/maths/power_recursion.py b/maths/power_using_recursion.py similarity index 71% rename from maths/power_recursion.py rename to maths/power_using_recursion.py index 8baa746cb439..e9c3c4445e8a 100644 --- a/maths/power_recursion.py +++ b/maths/power_using_recursion.py @@ -26,16 +26,18 @@ def power(base: int, exponent: int) -> float: ... for base in range(-10, 10) for exponent in range(10)) True """ - if exponent == 0: - return 1 - elif exponent < 0: - return 1 / power(base, -exponent) - else: - return base * power(base, exponent - 1) + return base * power(base, (exponent - 1)) if exponent else 1 if __name__ == "__main__": + from doctests import testmod + + testmod() + print("Raise base to the power of exponent using recursion...") base = int(input("Enter the base: ").strip()) exponent = int(input("Enter the exponent: ").strip()) - result = power(base, exponent) + result = power(base, abs(exponent)) + if exponent < 0: # power() does not properly deal w/ negative exponents + result = 1 / result print(f"{base} to the power of {exponent} is {result}") + From 290efe86c754476b0aabf8ef98c30053563a1f1d Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Thu, 19 Oct 2023 09:24:53 +0530 Subject: [PATCH 08/21] changed the code and kept the test cases --- maths/power_using_recursion.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maths/power_using_recursion.py b/maths/power_using_recursion.py index e9c3c4445e8a..93e66d5fba53 100644 --- a/maths/power_using_recursion.py +++ b/maths/power_using_recursion.py @@ -31,7 +31,7 @@ def power(base: int, exponent: int) -> float: if __name__ == "__main__": from doctests import testmod - +Sa testmod() print("Raise base to the power of exponent using recursion...") base = int(input("Enter the base: ").strip()) From 0dd5a3cb4e9c1df83dc6371353633f08b55b4ea7 Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Thu, 19 Oct 2023 09:25:19 +0530 Subject: [PATCH 09/21] missed the line --- maths/power_using_recursion.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maths/power_using_recursion.py b/maths/power_using_recursion.py index 93e66d5fba53..e9c3c4445e8a 100644 --- a/maths/power_using_recursion.py +++ b/maths/power_using_recursion.py @@ -31,7 +31,7 @@ def power(base: int, exponent: int) -> float: if __name__ == "__main__": from doctests import testmod -Sa + testmod() print("Raise base to the power of exponent using recursion...") base = int(input("Enter the base: ").strip()) From dc817c69db1a8543a7d5f6fd02cc1abc2fbca71e Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Thu, 19 Oct 2023 09:27:21 +0530 Subject: [PATCH 10/21] removed spaces --- maths/power_using_recursion.py | 1 - 1 file changed, 1 deletion(-) diff --git a/maths/power_using_recursion.py b/maths/power_using_recursion.py index e9c3c4445e8a..a3ec6d958650 100644 --- a/maths/power_using_recursion.py +++ b/maths/power_using_recursion.py @@ -40,4 +40,3 @@ def power(base: int, exponent: int) -> float: if exponent < 0: # power() does not properly deal w/ negative exponents result = 1 / result print(f"{base} to the power of {exponent} is {result}") - From 681e02a5329ef409c68b9048f937851493d943a6 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Fri, 20 Oct 2023 06:25:54 +0200 Subject: [PATCH 11/21] Update power_using_recursion.py --- maths/power_using_recursion.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/maths/power_using_recursion.py b/maths/power_using_recursion.py index a3ec6d958650..462fc45bff64 100644 --- a/maths/power_using_recursion.py +++ b/maths/power_using_recursion.py @@ -17,7 +17,6 @@ def power(base: int, exponent: int) -> float: """ Calculate the power of a base raised to an exponent. - Examples: >>> power(3, 4) 81 >>> power(2, 0) @@ -25,6 +24,20 @@ def power(base: int, exponent: int) -> float: >>> all(power(base, exponent) == pow(base, exponent) ... for base in range(-10, 10) for exponent in range(10)) True + >>> power('a', 1) + 'a' + >>> power('a', 2) + Traceback (most recent call last): + ... + TypeError: can't multiply sequence by non-int of type 'str' + >>> power('a', 'b') + Traceback (most recent call last): + ... + TypeError: unsupported operand type(s) for -: 'str' and 'int' + >>> power(2, -1) + Traceback (most recent call last): + ... + RecursionError: maximum recursion depth exceeded """ return base * power(base, (exponent - 1)) if exponent else 1 From c53e78ca67a7a0a89166c6aa07aa777a3c131149 Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Fri, 20 Oct 2023 13:03:32 +0530 Subject: [PATCH 12/21] Added new tests in Signum --- maths/signum.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/maths/signum.py b/maths/signum.py index 148f931767c1..509591a07ce2 100644 --- a/maths/signum.py +++ b/maths/signum.py @@ -5,12 +5,13 @@ def signum(num: float) -> int: """ - Applies signum function on the number + Applies signum function on the number - >>> signum(-10) - -1 - >>> signum(10) - 1 + Custom test cases: + >>> signum(-20) + -2 + >>> signum(20) + 2 >>> signum(0) 0 """ From d89a0b9979d5884a2790b60e1660081c3239da7f Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Fri, 20 Oct 2023 13:38:30 +0530 Subject: [PATCH 13/21] Few things added --- maths/signum.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/maths/signum.py b/maths/signum.py index 509591a07ce2..0a2f4bdeacb0 100644 --- a/maths/signum.py +++ b/maths/signum.py @@ -5,13 +5,13 @@ def signum(num: float) -> int: """ - Applies signum function on the number + Applies signum function on the number Custom test cases: >>> signum(-20) - -2 + -1 >>> signum(20) - 2 + 1 >>> signum(0) 0 """ @@ -27,9 +27,15 @@ def test_signum() -> None: assert signum(5) == 1 assert signum(-5) == -1 assert signum(0) == 0 + assert signum(10.5) == 1 + assert signum(-10.5) == -1 + assert signum(1e-6) == 1 + assert signum(-1e-6) == -1 + assert signum(123456789) == 1 + assert signum(-123456789) == -1 -if __name__ == "__main__": +if __name__ == "__main": print(signum(12)) print(signum(-12)) print(signum(0)) From 6d2f1c324f7dd961c34b6d8107826286b42230d1 Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Fri, 20 Oct 2023 13:54:11 +0530 Subject: [PATCH 14/21] Removed few stuff and added few changes --- maths/signum.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/maths/signum.py b/maths/signum.py index 0a2f4bdeacb0..9bda38c7f547 100644 --- a/maths/signum.py +++ b/maths/signum.py @@ -14,6 +14,14 @@ def signum(num: float) -> int: 1 >>> signum(0) 0 + >>> signum("a") + 0 + >>> signum([]) + 0 + >>> signum(-10) + -1 + >>> signum(10) + 1 """ if num < 0: return -1 @@ -35,7 +43,7 @@ def test_signum() -> None: assert signum(-123456789) == -1 -if __name__ == "__main": +if __ame__ == "__main": print(signum(12)) print(signum(-12)) print(signum(0)) From 786f1a6d388f70901a166f651386c52a9ba1bfee Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Fri, 20 Oct 2023 14:00:19 +0530 Subject: [PATCH 15/21] Fixed few things --- maths/signum.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maths/signum.py b/maths/signum.py index 9bda38c7f547..85a810787985 100644 --- a/maths/signum.py +++ b/maths/signum.py @@ -43,7 +43,7 @@ def test_signum() -> None: assert signum(-123456789) == -1 -if __ame__ == "__main": +if __name__ == "__main": print(signum(12)) print(signum(-12)) print(signum(0)) From e31687b1f7df50c0fcdea5cdbd13bb4187ac95d4 Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Fri, 20 Oct 2023 14:07:37 +0530 Subject: [PATCH 16/21] Reverted the function --- maths/signum.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maths/signum.py b/maths/signum.py index 85a810787985..d9735745f416 100644 --- a/maths/signum.py +++ b/maths/signum.py @@ -43,7 +43,7 @@ def test_signum() -> None: assert signum(-123456789) == -1 -if __name__ == "__main": +if __name__ == "__main__": print(signum(12)) print(signum(-12)) print(signum(0)) From 9daac1a5398dbb56f65705f83c8c724925d69797 Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee <69459134+imSanko@users.noreply.github.com> Date: Fri, 20 Oct 2023 14:19:15 +0530 Subject: [PATCH 17/21] Update maths/signum.py Co-authored-by: Christian Clauss --- maths/signum.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/maths/signum.py b/maths/signum.py index d9735745f416..7c8b723c479b 100644 --- a/maths/signum.py +++ b/maths/signum.py @@ -15,7 +15,9 @@ def signum(num: float) -> int: >>> signum(0) 0 >>> signum("a") - 0 + Traceback (most recent call last): + ... + TypeError: '<' not supported between instances of 'str' and 'int' >>> signum([]) 0 >>> signum(-10) From 27b9c8a176515a4e4d0a7722dd985ea1b7a01cff Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Fri, 20 Oct 2023 15:24:46 +0530 Subject: [PATCH 18/21] Added few things --- maths/signum.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/maths/signum.py b/maths/signum.py index 7c8b723c479b..a5b431702ee7 100644 --- a/maths/signum.py +++ b/maths/signum.py @@ -3,7 +3,7 @@ """ -def signum(num: float) -> int: +def signum(num) -> int: """ Applies signum function on the number @@ -15,9 +15,7 @@ def signum(num: float) -> int: >>> signum(0) 0 >>> signum("a") - Traceback (most recent call last): - ... - TypeError: '<' not supported between instances of 'str' and 'int' + 0 >>> signum([]) 0 >>> signum(-10) @@ -25,9 +23,15 @@ def signum(num: float) -> int: >>> signum(10) 1 """ - if num < 0: - return -1 - return 1 if num else 0 + if isinstance(num, (int, float)): + if num < 0: + return -1 + elif num > 0: + return 1 + else: + return 0 + else: + return 0 def test_signum() -> None: @@ -43,6 +47,8 @@ def test_signum() -> None: assert signum(-1e-6) == -1 assert signum(123456789) == 1 assert signum(-123456789) == -1 + assert signum("hello") == 0 + assert signum([]) == 0 if __name__ == "__main__": From 6714d15877f58e3c78b189715c7c4908e003041f Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee <69459134+imSanko@users.noreply.github.com> Date: Fri, 20 Oct 2023 16:07:15 +0530 Subject: [PATCH 19/21] Update maths/signum.py Co-authored-by: Christian Clauss --- maths/signum.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/maths/signum.py b/maths/signum.py index a5b431702ee7..e80e8db96f51 100644 --- a/maths/signum.py +++ b/maths/signum.py @@ -15,7 +15,9 @@ def signum(num) -> int: >>> signum(0) 0 >>> signum("a") - 0 + Traceback (most recent call last): + ... + TypeError: '<' not supported between instances of 'str' and 'int' >>> signum([]) 0 >>> signum(-10) From b4ea39f5a704b25b6621ef9e5a0b77863d2ea75c Mon Sep 17 00:00:00 2001 From: Saptadeep Banerjee Date: Fri, 20 Oct 2023 16:14:12 +0530 Subject: [PATCH 20/21] Added the type hint back --- maths/signum.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/maths/signum.py b/maths/signum.py index e80e8db96f51..df78ddcf34a0 100644 --- a/maths/signum.py +++ b/maths/signum.py @@ -3,7 +3,7 @@ """ -def signum(num) -> int: +def signum(num: float) -> int: """ Applies signum function on the number @@ -15,9 +15,7 @@ def signum(num) -> int: >>> signum(0) 0 >>> signum("a") - Traceback (most recent call last): - ... - TypeError: '<' not supported between instances of 'str' and 'int' + 0 >>> signum([]) 0 >>> signum(-10) From 0b0a390209828adf1fbd74f21096a2f395b8ca2a Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Fri, 20 Oct 2023 12:59:02 +0200 Subject: [PATCH 21/21] Update signum.py --- maths/signum.py | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/maths/signum.py b/maths/signum.py index df78ddcf34a0..c89753e76637 100644 --- a/maths/signum.py +++ b/maths/signum.py @@ -8,35 +8,38 @@ def signum(num: float) -> int: Applies signum function on the number Custom test cases: - >>> signum(-20) + >>> signum(-10) -1 - >>> signum(20) + >>> signum(10) 1 >>> signum(0) 0 - >>> signum("a") - 0 - >>> signum([]) - 0 - >>> signum(-10) + >>> signum(-20.5) -1 - >>> signum(10) + >>> signum(20.5) 1 + >>> signum(-1e-6) + -1 + >>> signum(1e-6) + 1 + >>> signum("Hello") + Traceback (most recent call last): + ... + TypeError: '<' not supported between instances of 'str' and 'int' + >>> signum([]) + Traceback (most recent call last): + ... + TypeError: '<' not supported between instances of 'list' and 'int' """ - if isinstance(num, (int, float)): - if num < 0: - return -1 - elif num > 0: - return 1 - else: - return 0 - else: - return 0 + if num < 0: + return -1 + return 1 if num else 0 def test_signum() -> None: """ Tests the signum function + >>> test_signum() """ assert signum(5) == 1 assert signum(-5) == -1 @@ -47,8 +50,6 @@ def test_signum() -> None: assert signum(-1e-6) == -1 assert signum(123456789) == 1 assert signum(-123456789) == -1 - assert signum("hello") == 0 - assert signum([]) == 0 if __name__ == "__main__":