From 45a6822d54992348e211752e155615b631a92ade Mon Sep 17 00:00:00 2001 From: johannessd Date: Fri, 16 Feb 2024 10:31:04 +0000 Subject: [PATCH] Workhop commit --- .vscode/launch.json | 15 +++++++++++++++ calculator/__init__.py | 9 ++++++++- calculator/calcurator.py | 16 +++++++++++++--- calculator/tests/unit_tests_calculator.py | 15 ++++++++++++--- 4 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 .vscode/launch.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..6b76b4f --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python Debugger: Current File", + "type": "debugpy", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal" + } + ] +} \ No newline at end of file diff --git a/calculator/__init__.py b/calculator/__init__.py index a89fc5a..58b0389 100644 --- a/calculator/__init__.py +++ b/calculator/__init__.py @@ -1 +1,8 @@ -from .calcurator import add, subtract, divide, multiply, square_root \ No newline at end of file +from calculator.calcurator import ( + add, + subtract, + divide, + multiply, + exponentiate, + square_root, +) diff --git a/calculator/calcurator.py b/calculator/calcurator.py index e400c62..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,12 +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 x ** (1/2) - - + return math.sqrt(x) diff --git a/calculator/tests/unit_tests_calculator.py b/calculator/tests/unit_tests_calculator.py index f5f3715..656d47d 100644 --- a/calculator/tests/unit_tests_calculator.py +++ b/calculator/tests/unit_tests_calculator.py @@ -1,28 +1,37 @@ -# test_calculator.py +from calculator import add, multiply, divide, subtract, exponentiate, square_root -from calculator import add, multiply, divide, subtract, 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 \ No newline at end of file + assert square_root(9) == 3