From be4dba1bca060c4edbee62c074dc338bdf41f241 Mon Sep 17 00:00:00 2001 From: BartoszKalka Date: Wed, 11 Oct 2023 12:15:13 +0200 Subject: [PATCH 1/2] added exponentiate, square_root functions --- calculator/__init__.py | 2 +- calculator/calcurator.py | 16 ++++++++++++++++ calculator/tests/unit_tests_calculator.py | 18 +++++++++++++++++- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/calculator/__init__.py b/calculator/__init__.py index ad8e9df..15d0781 100644 --- a/calculator/__init__.py +++ b/calculator/__init__.py @@ -1 +1 @@ -from .calcurator import add, subtract, divide, multiply \ No newline at end of file +from .calcurator import add, subtract, divide, multiply, exponentiate, square_root diff --git a/calculator/calcurator.py b/calculator/calcurator.py index 51cb993..e2d8f4c 100644 --- a/calculator/calcurator.py +++ b/calculator/calcurator.py @@ -1,11 +1,16 @@ +import math + + def add(x, y): """Returns the sum of x and y.""" return x + y + def multiply(x, y): """Returns the product of x and y.""" return x * y + def divide(x, y): """Returns the result of dividing x by y.""" if y != 0: @@ -13,6 +18,17 @@ def divide(x, y): else: return "Error: Division by zero" + def subtract(x, y): """Returns the difference between x and y.""" return x - y + + +def exponentiate(x, y): + """Returns x raised to the power of y.""" + return x**y + + +def square_root(x): + """Returns the square root of x.""" + return math.sqrt(x) diff --git a/calculator/tests/unit_tests_calculator.py b/calculator/tests/unit_tests_calculator.py index 3295ba8..2f9909a 100644 --- a/calculator/tests/unit_tests_calculator.py +++ b/calculator/tests/unit_tests_calculator.py @@ -1,23 +1,39 @@ # test_calculator.py -from calculator import add, multiply, divide, subtract +from calculator import add, multiply, divide, subtract, exponentiate, square_root + def test_addition(): assert add(5, 3) == 8 assert add(0, 0) == 0 assert add(-5, 5) == 0 + def test_multiplication(): assert multiply(4, 6) == 24 assert multiply(0, 10) == 0 assert multiply(-3, 7) == -21 + def test_division(): assert divide(8, 2) == 4.0 assert divide(10, 5) == 2.0 assert divide(7, 0) == "Error: Division by zero" + def test_subtraction(): assert subtract(10, 7) == 3 assert subtract(5, 5) == 0 assert subtract(7, 10) == -3 + + +def test_exponentiation(): + assert exponentiate(2, 3) == 8 + assert exponentiate(5, 0) == 1 + assert exponentiate(3, -2) == 1 / 9 + + +def test_square_root(): + assert square_root(4) == 2 + assert square_root(25) == 5 + assert square_root(9) == 3 From 674673f8062c038966e3604f7674def92dc1e075 Mon Sep 17 00:00:00 2001 From: BartoszKalka Date: Fri, 20 Oct 2023 12:17:54 +0200 Subject: [PATCH 2/2] deleted the math module --- calculator/calcurator.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/calculator/calcurator.py b/calculator/calcurator.py index e2d8f4c..ec9e117 100644 --- a/calculator/calcurator.py +++ b/calculator/calcurator.py @@ -1,6 +1,3 @@ -import math - - def add(x, y): """Returns the sum of x and y.""" return x + y @@ -31,4 +28,4 @@ def exponentiate(x, y): def square_root(x): """Returns the square root of x.""" - return math.sqrt(x) + return x ** (1 / 2)