diff --git a/pom.xml b/pom.xml
index e7cb4f6b..3af9ec0b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,6 +7,32 @@
com.zipcodewilmington
scientific_calculator
1.0-SNAPSHOT
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 7
+ 7
+
+
+
+
+
+
+ org.junit.jupiter
+ junit-jupiter
+ RELEASE
+ test
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
\ No newline at end of file
diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/CalculatorOperator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/CalculatorOperator.java
new file mode 100644
index 00000000..ebd33e0b
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/scientificcalculator/CalculatorOperator.java
@@ -0,0 +1,54 @@
+package com.zipcodewilmington.scientificcalculator;
+
+//comments
+
+public class CalculatorOperator {
+
+ public static double addition (double a, double b) {
+ double addition = a + b;
+ return addition;
+ }
+
+ public static double subtraction
+ (double a, double b) {
+ double subtraction = a - b;
+ return subtraction;
+ }
+
+ public static double multiplication (double a, double b) {
+ double multiplication = a * b;
+ return multiplication;
+ }
+
+ public static double division (double a, double b) {
+ double division = a / b;
+ return division;
+ }
+
+ public static double square (double a) {
+ double square = Math.pow(a,2);
+ return square;
+ }
+
+ public static double squareRoot (double a) {
+ double squareRoot = Math.sqrt(a);
+ return squareRoot;
+ }
+
+ public static double exponents (double a, double b) {
+ double exponent = Math.pow(a,b);
+ return exponent;
+ }
+
+ public static double multiplicativeInverse (double a) {
+ double multiplicativeInverse = 1/a;
+ return multiplicativeInverse;
+ }
+
+ public static double additiveInverse (double a) {
+ double additiveInverse = a * -1;
+ return additiveInverse;
+ }
+
+}
+
diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java b/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java
index 83f0e97f..282c1c9e 100644
--- a/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java
+++ b/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java
@@ -1,5 +1,7 @@
package com.zipcodewilmington.scientificcalculator;
+// comments
+
import java.util.Scanner;
/**
@@ -23,10 +25,16 @@ public static String getStringInput(String prompt) {
}
public static Integer getIntegerInput(String prompt) {
- return null;
+ Scanner scanner = new Scanner(System.in);
+ println(prompt);
+ int userInput = scanner.nextInt();
+ return userInput;
}
public static Double getDoubleInput(String prompt) {
- return null;
+ Scanner scanner = new Scanner(System.in);
+ println(prompt);
+ double userInput = scanner.nextDouble();
+ return userInput;
}
}
diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java
index 5f421325..c3770264 100644
--- a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java
+++ b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java
@@ -1,5 +1,7 @@
package com.zipcodewilmington.scientificcalculator;
+// comments
+
/**
* Created by leon on 2/9/18.
*/
@@ -7,11 +9,30 @@ public class MainApplication {
public static void main(String[] args) {
Console.println("Welcome to my calculator!");
String s = Console.getStringInput("Enter a string");
- Integer i = Console.getIntegerInput("Enter an integer");
+ Double i = Console.getDoubleInput("Enter a double");
Double d = Console.getDoubleInput("Enter a double.");
Console.println("The user input %s as a string", s);
Console.println("The user input %s as a integer", i);
Console.println("The user input %s as a d", d);
}
-}
+
+ public static double calculator (String s, double i, double d) {
+ double result = 0;
+ switch (s) {
+ case "+":
+ result = CalculatorOperator.addition(i, d);
+ break;
+ case "-":
+ result = CalculatorOperator.subtraction(i, d);
+ break;
+ case "*":
+ result = CalculatorOperator.multiplication(i, d);
+ break;
+ case "/":
+ result = CalculatorOperator.division(i,d);
+ break;
+ }
+ return result;
+ }
+ }
diff --git a/src/test/java/com/zipcodewilmington/scientific_calculator/TestMainApplication.java b/src/test/java/com/zipcodewilmington/scientific_calculator/TestMainApplication.java
index 94e8d987..c53f6a41 100644
--- a/src/test/java/com/zipcodewilmington/scientific_calculator/TestMainApplication.java
+++ b/src/test/java/com/zipcodewilmington/scientific_calculator/TestMainApplication.java
@@ -1,7 +1,67 @@
package com.zipcodewilmington.scientific_calculator;
+import com.zipcodewilmington.scientificcalculator.CalculatorOperator;
+import com.zipcodewilmington.scientificcalculator.MainApplication;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+
/**
* Created by leon on 2/9/18.
*/
public class TestMainApplication {
+ @Test
+ public void addition() {
+ Assertions.assertEquals(6 , CalculatorOperator.addition(3, 3));
+ }
+
+ @Test
+ public void subtraction() {
+ Assertions.assertEquals(-1 , CalculatorOperator.subtraction(3, 4));
+ }
+
+ @Test
+ public void multiplication() {
+ Assertions.assertEquals(17 , CalculatorOperator.multiplication(17, 1));
+ }
+
+ @Test
+ public void division() {
+ Assertions.assertEquals(1 , CalculatorOperator.division(22, 22));
+ }
+
+ @Test
+ public void squareTest() {
+ Assertions.assertEquals(9 , CalculatorOperator.square(3));
+ }
+
+ @Test
+ public void squareRootTest() {
+ Assertions.assertEquals(5 , CalculatorOperator.squareRoot(25));
+ }
+
+ @Test
+ public void exponentsTest() {
+ Assertions.assertEquals(4 , CalculatorOperator.exponents(2,2));
+ }
+
+ @Test
+ public void multiplicativeInverseTest() {
+ Assertions.assertEquals(1 , CalculatorOperator.multiplicativeInverse(1));
+ }
+
+ @Test
+ public void additiveInverseTest() {
+ Assertions.assertEquals(4 , CalculatorOperator.additiveInverse(-4));
+ }
+
+ @Test
+ public void calculatorTest() {
+ Assertions.assertEquals(5.2 , MainApplication.calculator("+", 2.2, 3.0));
+ Assertions.assertEquals(-1 , MainApplication.calculator("-", 2.0, 3.0));
+ Assertions.assertEquals(6 , MainApplication.calculator("*", 2.0, 3.0));
+ Assertions.assertEquals(4 , MainApplication.calculator("/", 12, 3));
+ }
+
+
}