Skip to content

again. no sleep. #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Jun 28, 2021
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ public static void menuOption1() {
System.out.println("Here are some Scientific Functions. \nSine() \nCosine() \nTangent()");
break;
case "3":
String userInput = Console.getStringInput("Time for some math? \n ( Y / N )");
if(userInput.equalsIgnoreCase("Y")) {
break outerLoop;
}
String userInput = Console.getStringInput("Time for some math? \n ( Y / N )");
if (userInput.equalsIgnoreCase("Y")) {
break outerLoop;
}
break;
default:
Console.println("[ %s ] is not a valid input!", prompt);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,57 @@ public class CalculatorEngine {
private static Double value;

public static Double sum(Double firstNum, Double secondNum) {
value = firstNum + secondNum;
return value;
return firstNum + secondNum;
}

public static Double subtract(Double firstNum, Double secondNum) {
value = firstNum - secondNum;
return value;
return firstNum - secondNum;
}

public static Double divide(Double firstNum, Double secondNum) {
value = firstNum / secondNum;
return value;
return firstNum / secondNum;
}

public static Double multiply(Double firstNum, Double secondNum) {
value = firstNum * secondNum;
return firstNum * secondNum;
}

public static Double squareRoot(Double firstNum){
double s;
double value = firstNum / 2;
do {
s = value;
value = (s +(firstNum / s)) / 2;
}
while ((s - value) != 0);
return value;
}
}

public static Double square(Double firstNum){
return firstNum * firstNum;
}

public static Double squareY(Double firstNum, Double secondNum) {
return Math.pow(firstNum, secondNum);

}

public static Double squareRootY(Double firstNum, Double secondNum){
double xPre = Math.random() % 10;
double eps = 0.001;
double delX = 2147483647;
double xK = 0.00;
double A = firstNum;
double N = secondNum;


while (delX > eps){
xK = ((N - 1.0) * xPre + A / Math.pow(xPre, N - 1)) / N;
delX = Math.abs(xK - xPre);
xPre = xK;
}
double value = Math.round(xK * 1000.00) / 1000.00;
return value;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,19 @@
import org.junit.Assert;
import org.junit.Test;

import static com.sun.tools.doclint.Entity.divide;
import static com.zipcodewilmington.scientificcalculator.CalculatorEngine.*;


public class CalculatorEngineTest {

@Test
public void testSum1() {
// Given
CalculatorEngine calculatorEngine = new CalculatorEngine();
CalculatorEngine CalculatorEngine = new CalculatorEngine();
// When
Double result;
result = calculatorEngine.sum(2.00, 2.00);
result = CalculatorEngine.sum(2.00, 2.00);
// Then
if (result != 4.00) { // if 2 + 2 != 4
Assert.fail();
Expand All @@ -23,10 +25,10 @@ public void testSum1() {
@Test
public void testSum2() {
// Given
CalculatorEngine calculatorEngine = new CalculatorEngine();
CalculatorEngine CalculatorEngine = new CalculatorEngine();
// When
Double result;
result = calculatorEngine.sum(1200.00, 500.00);
result = CalculatorEngine.sum(1200.00, 500.00);
// Then
if (result != 1700.00) { // if 1200 + 500 != 1700
Assert.fail();
Expand Down Expand Up @@ -59,38 +61,72 @@ public void testSubtract2() {

@Test
public void testDivide1() {
CalculatorEngine calculatorEngine = new CalculatorEngine();
Double result;
result = calculatorEngine.divide(6.00, 3.00);
if (result != 2.00); {
}
Double expected = 100.00;
Double firstNum = 1000.00;
Double secondNum = 10.00;
Double actual = CalculatorEngine.divide(firstNum, secondNum);
Assert.assertEquals(expected, actual);
}

@Test
public void testDivide2() {
CalculatorEngine calculatorEngine = new CalculatorEngine();
Double result;
result = calculatorEngine.divide(33.33, 11.11);
if (result != 3.00); {
}
Double expected = 4.00;
Double firstNum = 20.00;
Double secondNum = 5.00;
Double actual = CalculatorEngine.divide(firstNum, secondNum);
Assert.assertEquals(expected, actual);
}

@Test
public void testMultiply1() {
CalculatorEngine calculatorEngine = new CalculatorEngine();
Double result;
result = calculatorEngine.multiply(5.00, 20.00);
if (result != 100.00); {
Double expected = 100.00;
Double firstNum = 20.00;
Double secondNum = 5.00;
Double actual = multiply(firstNum, secondNum);
Assert.assertEquals(expected, actual);
}
}


@Test
public void testMultiply2() {
CalculatorEngine calculatorEngine = new CalculatorEngine();
Double result;
result = calculatorEngine.multiply(7.00, 20.00);
if (result != 140.00); {
}
Double expected = 4.00;
Double firstNum = 2.00;
Double secondNum = 2.0;
Double actual = multiply(firstNum, secondNum);
Assert.assertEquals(expected, actual);
}

@Test
public void testSquareRoot(){
Double expected = 2.00;
Double firstNum = 4.00;
Double actual = squareRoot(firstNum);
Assert.assertEquals(expected, actual);
}

@Test
public void testSquare(){
Double expected = 16.00;
Double firstNum = 4.00;
Double actual = square(firstNum);
Assert.assertEquals(expected, actual);
}
@Test
public void testSquareY(){
Double expected = 7776.00;
Double firstNum = 6.00;
Double secondNumb = 5.00;
Double actual = CalculatorEngine.squareY(firstNum, secondNumb);
Assert.assertEquals(expected, actual);
}

@Test
public void testSquareRootY(){
Double expected = 1.431;
Double firstNum = 6.00;
Double secondNumb = 5.00;
Double actual = CalculatorEngine.squareRootY(firstNum, secondNumb);
Assert.assertEquals(expected, actual);
}
}

Expand Down