From e745b0bac79dbf4ce4360f0b9754a21de2947be8 Mon Sep 17 00:00:00 2001
From: Petter <petterah@outlook.com>
Date: Tue, 11 Feb 2025 15:34:45 +0100
Subject: [PATCH 1/2] nesten ferdig

---
 .../no/uib/inf101/calculator/Calculator.java  | 32 ++++++++++++++++---
 .../calculator/operations/Addition.java       | 19 +++++++++++
 .../calculator/operations/Multiplication.java | 17 ++++++++++
 .../calculator/operations/Subtraction.java    | 17 ++++++++++
 .../uib/inf101/calculator/OperatorsTest.java  | 10 +++---
 5 files changed, 86 insertions(+), 9 deletions(-)
 create mode 100644 src/main/java/no/uib/inf101/calculator/operations/Addition.java
 create mode 100644 src/main/java/no/uib/inf101/calculator/operations/Multiplication.java
 create mode 100644 src/main/java/no/uib/inf101/calculator/operations/Subtraction.java

diff --git a/src/main/java/no/uib/inf101/calculator/Calculator.java b/src/main/java/no/uib/inf101/calculator/Calculator.java
index 447f34f..631e67a 100644
--- a/src/main/java/no/uib/inf101/calculator/Calculator.java
+++ b/src/main/java/no/uib/inf101/calculator/Calculator.java
@@ -1,7 +1,11 @@
 package no.uib.inf101.calculator;
 
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+
+import no.uib.inf101.calculator.operations.Operator;
 
 /**
  * Represents a calculator that can evaluate mathematical expressions.
@@ -22,7 +26,7 @@ public class Calculator {
      * @return a list of operator symbols
      */
     public List<String> getOperatorSymbols() {
-        return Arrays.asList("+");
+        return Arrays.asList("+", "*", "-");
     }
 
     /**
@@ -32,9 +36,15 @@ public class Calculator {
      * @throws NullPointerException if the operator is not found in the calculator
      */
     public String getOperatorDescription(String operatorSymbol) {
-        // TODO
-        return "";
-        //throw new NullPointerException("This operator is not supported by the calculator: " + operatorSymbol);
+        if (operatorSymbol.equals("+"))
+            return ("Addition: \"Combine two numbers to find their total or sum.\"");
+        if (operatorSymbol.equals("*"))
+            return ("Multiplication: \"Calculate the result of multiplying one number by another.\""); 
+        if (operatorSymbol.equals("-"))
+            return ("Subtraction: \"Find the difference between two numbers by taking one away from the other.\"");
+                  
+       throw new NullPointerException("This operator is not supported by the calculator: " + operatorSymbol);
+        
     }
 
     /**
@@ -49,11 +59,21 @@ public class Calculator {
     public double evaluate(double num1, double num2, String operatorSymbol) {
         if (operatorSymbol.equals("+"))
             return num1 + num2;
+        if (operatorSymbol.equals("*"))
+            return num1 * num2;
+        if (operatorSymbol.equals("-"))
+            return num1 - num2;
+
 
         throw new NullPointerException("This operator is not supported by the calculator: " + operatorSymbol);
     }
 
 
+private Map<String, Operator> operators;
+
+public Calculator() {
+    operators = new HashMap<>();
+}
 
 
 
@@ -62,6 +82,10 @@ public class Calculator {
 
 
 
+
+
+    
+
     
     // ################# NO NEED TO LOOK AT THIS METHOD #################
     /**
diff --git a/src/main/java/no/uib/inf101/calculator/operations/Addition.java b/src/main/java/no/uib/inf101/calculator/operations/Addition.java
new file mode 100644
index 0000000..2554cdc
--- /dev/null
+++ b/src/main/java/no/uib/inf101/calculator/operations/Addition.java
@@ -0,0 +1,19 @@
+package no.uib.inf101.calculator.operations;
+
+public class Addition implements Operator {
+
+    
+    public String getSymbol() {
+        return "+";
+    }
+    
+    public String getDescription() {
+        return "Addition: \"Combine two numbers to find their total or sum.\"";
+    }
+    
+    public double calculate(double num1, double num2) {
+        return num1 + num2;
+    }
+
+}
+
diff --git a/src/main/java/no/uib/inf101/calculator/operations/Multiplication.java b/src/main/java/no/uib/inf101/calculator/operations/Multiplication.java
new file mode 100644
index 0000000..bacba46
--- /dev/null
+++ b/src/main/java/no/uib/inf101/calculator/operations/Multiplication.java
@@ -0,0 +1,17 @@
+package no.uib.inf101.calculator.operations;
+
+public class Multiplication implements Operator {
+
+    public String getSymbol() {
+        return "*";
+    }
+
+    public String getDescription() {
+        return "Multiplication: \"Calculate the result of multiplying one number by another.\"";
+    }
+    
+    public double calculate(double num1, double num2) {
+        return num1 * num2;
+    }
+
+}
diff --git a/src/main/java/no/uib/inf101/calculator/operations/Subtraction.java b/src/main/java/no/uib/inf101/calculator/operations/Subtraction.java
new file mode 100644
index 0000000..5aced77
--- /dev/null
+++ b/src/main/java/no/uib/inf101/calculator/operations/Subtraction.java
@@ -0,0 +1,17 @@
+package no.uib.inf101.calculator.operations;
+
+public class Subtraction implements Operator {
+        
+    public String getSymbol() {
+        return "-";
+    }
+    
+    public String getDescription() {
+        return "Subtraction: \"Find the difference between two numbers by taking one away from the other.\""; 
+    }
+    public double calculate(double num1, double num2) {
+        return num1 - num2;
+    }
+
+    
+}
diff --git a/src/test/java/no/uib/inf101/calculator/OperatorsTest.java b/src/test/java/no/uib/inf101/calculator/OperatorsTest.java
index 3090cf7..152978e 100644
--- a/src/test/java/no/uib/inf101/calculator/OperatorsTest.java
+++ b/src/test/java/no/uib/inf101/calculator/OperatorsTest.java
@@ -5,9 +5,9 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import org.junit.jupiter.api.Test;
 
 import no.uib.inf101.calculator.operations.Operator;
-//import no.uib.inf101.calculator.operations.Subtraction;
-//import no.uib.inf101.calculator.operations.Addition;
-//import no.uib.inf101.calculator.operations.Multiplication;
+import no.uib.inf101.calculator.operations.Subtraction;
+import no.uib.inf101.calculator.operations.Addition;
+import no.uib.inf101.calculator.operations.Multiplication;
 
 public class OperatorsTest {
 
@@ -16,7 +16,7 @@ public class OperatorsTest {
     double num2 = 5;
     
     // ############# ADDITION #############
-    /*@Test
+    @Test
     public void calculateAdditionTest() {
         operator = new Addition();
 
@@ -70,7 +70,7 @@ public class OperatorsTest {
         String actual = operator.getSymbol();
         String expected = "*";
         assertEquals(expected, actual);
-    }*/
+    }
 
 
 }
-- 
GitLab


From ccf51377a182062e5148a49531a32a856a741bca Mon Sep 17 00:00:00 2001
From: Petter <petterah@outlook.com>
Date: Wed, 12 Feb 2025 13:52:13 +0100
Subject: [PATCH 2/2] hei

---
 .../java/no/uib/inf101/calculator/Calculator.java    | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/main/java/no/uib/inf101/calculator/Calculator.java b/src/main/java/no/uib/inf101/calculator/Calculator.java
index 631e67a..bf81ecb 100644
--- a/src/main/java/no/uib/inf101/calculator/Calculator.java
+++ b/src/main/java/no/uib/inf101/calculator/Calculator.java
@@ -71,9 +71,15 @@ public class Calculator {
 
 private Map<String, Operator> operators;
 
-public Calculator() {
-    operators = new HashMap<>();
-}
+    public Calculator() {
+        operators = new HashMap<>();
+    }
+    private void addOperators(Operator operator) {
+        
+
+    }
+
+
 
 
 
-- 
GitLab