From 0ab786b24ad8c9eeb41154302d8514c4e07c6981 Mon Sep 17 00:00:00 2001 From: Pit Friedrich Date: Sat, 25 Jul 2026 11:15:40 +0200 Subject: [PATCH] fix: throw ArithmeticException on divide by zero (#9) --- src/main/java/com/example/util/DivideFunction.java | 3 +++ src/test/java/com/example/util/DivideFunctionTest.java | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/src/main/java/com/example/util/DivideFunction.java b/src/main/java/com/example/util/DivideFunction.java index 6c2f2bb..8d9563c 100644 --- a/src/main/java/com/example/util/DivideFunction.java +++ b/src/main/java/com/example/util/DivideFunction.java @@ -8,6 +8,9 @@ public class DivideFunction implements CalcFunction { } double result = input[0]; for (int i = 1; i < input.length; i++) { + if (input[i] == 0) { + throw new ArithmeticException("Division by zero"); + } result /= input[i]; } return result; diff --git a/src/test/java/com/example/util/DivideFunctionTest.java b/src/test/java/com/example/util/DivideFunctionTest.java index c3b92d1..41c5c2e 100644 --- a/src/test/java/com/example/util/DivideFunctionTest.java +++ b/src/test/java/com/example/util/DivideFunctionTest.java @@ -3,6 +3,7 @@ package com.example.util; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; class DivideFunctionTest { @@ -27,4 +28,9 @@ class DivideFunctionTest { void dividesNegativeValues() { assertEquals(-2.0, divideFunction.calc(4.0, -2.0)); } + + @Test + void throwsOnDivideByZero() { + assertThrows(ArithmeticException.class, () -> divideFunction.calc(5.0, 0.0)); + } } -- 2.52.0