This commit is contained in:
@@ -2,6 +2,7 @@ package com.example;
|
||||
|
||||
import com.example.util.AddFunction;
|
||||
import com.example.util.CalcFunction;
|
||||
import com.example.util.DivideFunction;
|
||||
import com.example.util.MultiplyFunction;
|
||||
import com.example.util.SubtractFunction;
|
||||
|
||||
@@ -15,5 +16,7 @@ public class LoopTestApplication {
|
||||
System.out.println("SUBTRACTION: " + subtract.calc(2, 5, 6));
|
||||
CalcFunction multiply = new MultiplyFunction();
|
||||
System.out.println("MULTIPLICATION: " + multiply.calc(2, 5, 6));
|
||||
CalcFunction divide = new DivideFunction();
|
||||
System.out.println("DIVISION: " + divide.calc(2, 5, 6));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.example.util;
|
||||
|
||||
public class DivideFunction implements CalcFunction {
|
||||
|
||||
public double calc(double... input) {
|
||||
if (input.length == 0) {
|
||||
return 0;
|
||||
}
|
||||
double result = input[0];
|
||||
for (int i = 1; i < input.length; i++) {
|
||||
result /= input[i];
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.example.util;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
class DivideFunctionTest {
|
||||
|
||||
private final DivideFunction divideFunction = new DivideFunction();
|
||||
|
||||
@Test
|
||||
void dividesMultipleValues() {
|
||||
assertEquals(2.0, divideFunction.calc(20.0, 5.0, 2.0));
|
||||
}
|
||||
|
||||
@Test
|
||||
void returnsSingleValue() {
|
||||
assertEquals(5.0, divideFunction.calc(5.0));
|
||||
}
|
||||
|
||||
@Test
|
||||
void returnsZeroForNoInput() {
|
||||
assertEquals(0.0, divideFunction.calc());
|
||||
}
|
||||
|
||||
@Test
|
||||
void dividesNegativeValues() {
|
||||
assertEquals(-2.0, divideFunction.calc(4.0, -2.0));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user