Compare commits

...

2 Commits

Author SHA1 Message Date
pitfriedrich 27f38718b1 Merge pull request 'fix: add DivideFunction (#7)' (#8) from ai/issue-7-divide-function into main
Reviewed-on: #8
2026-07-25 09:09:41 +00:00
Pit Friedrich 2e6be68aaa fix: add DivideFunction (#7)
CI / build-and-test (pull_request) Successful in 15s
2026-07-25 11:09:01 +02:00
3 changed files with 48 additions and 0 deletions
@@ -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));
}
}