From 679018cbd3fd6e98bae6ae60d64cb6353ad484cf Mon Sep 17 00:00:00 2001 From: alxkm Date: Mon, 14 Jul 2025 19:19:43 +0200 Subject: [PATCH 1/2] testing: add more cases for AverageTest --- .../com/thealgorithms/maths/AverageTest.java | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/src/test/java/com/thealgorithms/maths/AverageTest.java b/src/test/java/com/thealgorithms/maths/AverageTest.java index c5c751938f5d..4e9fb98b68cb 100644 --- a/src/test/java/com/thealgorithms/maths/AverageTest.java +++ b/src/test/java/com/thealgorithms/maths/AverageTest.java @@ -1,33 +1,47 @@ package com.thealgorithms.maths; -import org.junit.jupiter.api.Assertions; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; +import java.util.stream.Stream; public class AverageTest { private static final double SMALL_VALUE = 0.00001d; - @Test - public void testAverageDouble12() { - double[] numbers = {3d, 6d, 9d, 12d, 15d, 18d, 21d}; - Assertions.assertEquals(12d, Average.average(numbers), SMALL_VALUE); + @ParameterizedTest(name = "average({0}) should be approximately {1}") + @MethodSource("provideDoubleArrays") + void testAverageDouble(double[] numbers, double expected) { + assertEquals(expected, Average.average(numbers), SMALL_VALUE); } - @Test - public void testAverageDouble20() { - double[] numbers = {5d, 10d, 15d, 20d, 25d, 30d, 35d}; - Assertions.assertEquals(20d, Average.average(numbers), SMALL_VALUE); + @ParameterizedTest(name = "average({0}) should be {1}") + @MethodSource("provideIntArrays") + void testAverageInt(int[] numbers, long expected) { + assertEquals(expected, Average.average(numbers)); } @Test - public void testAverageDouble() { - double[] numbers = {1d, 2d, 3d, 4d, 5d, 6d, 7d, 8d}; - Assertions.assertEquals(4.5d, Average.average(numbers), SMALL_VALUE); + void testAverageDoubleThrowsExceptionOnNullOrEmpty() { + assertThrows(IllegalArgumentException.class, () -> Average.average((double[]) null)); + assertThrows(IllegalArgumentException.class, () -> Average.average(new double[0])); } @Test - public void testAverageInt() { - int[] numbers = {2, 4, 10}; - Assertions.assertEquals(5, Average.average(numbers)); + void testAverageIntThrowsExceptionOnNullOrEmpty() { + assertThrows(IllegalArgumentException.class, () -> Average.average((int[]) null)); + assertThrows(IllegalArgumentException.class, () -> Average.average(new int[0])); + } + + private static Stream provideDoubleArrays() { + return Stream.of(Arguments.of(new double[] {3d, 6d, 9d, 12d, 15d, 18d, 21d}, 12d), Arguments.of(new double[] {5d, 10d, 15d, 20d, 25d, 30d, 35d}, 20d), Arguments.of(new double[] {1d, 2d, 3d, 4d, 5d, 6d, 7d, 8d}, 4.5d), Arguments.of(new double[] {0d, 0d, 0d}, 0d), Arguments.of(new double[] {-1d, -2d, -3d}, -2d), Arguments.of(new double[] {1e-10, 1e-10, 1e-10}, 1e-10)); + } + + private static Stream provideIntArrays() { + return Stream.of(Arguments.of(new int[] {2, 4, 10}, 5L), Arguments.of(new int[] {0, 0, 0}, 0L), Arguments.of(new int[] {-1, -2, -3}, -2L), Arguments.of(new int[] {1, 1, 1, 1, 1}, 1L)); } } From ba93a8a381ecb7bc9fb7826159c8ad0aef954ab1 Mon Sep 17 00:00:00 2001 From: alxkm Date: Mon, 14 Jul 2025 19:22:12 +0200 Subject: [PATCH 2/2] checkstyle: fix formatting --- src/test/java/com/thealgorithms/maths/AverageTest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/thealgorithms/maths/AverageTest.java b/src/test/java/com/thealgorithms/maths/AverageTest.java index 4e9fb98b68cb..638739bc4fda 100644 --- a/src/test/java/com/thealgorithms/maths/AverageTest.java +++ b/src/test/java/com/thealgorithms/maths/AverageTest.java @@ -3,11 +3,11 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; +import java.util.stream.Stream; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; -import java.util.stream.Stream; public class AverageTest { @@ -38,7 +38,8 @@ void testAverageIntThrowsExceptionOnNullOrEmpty() { } private static Stream provideDoubleArrays() { - return Stream.of(Arguments.of(new double[] {3d, 6d, 9d, 12d, 15d, 18d, 21d}, 12d), Arguments.of(new double[] {5d, 10d, 15d, 20d, 25d, 30d, 35d}, 20d), Arguments.of(new double[] {1d, 2d, 3d, 4d, 5d, 6d, 7d, 8d}, 4.5d), Arguments.of(new double[] {0d, 0d, 0d}, 0d), Arguments.of(new double[] {-1d, -2d, -3d}, -2d), Arguments.of(new double[] {1e-10, 1e-10, 1e-10}, 1e-10)); + return Stream.of(Arguments.of(new double[] {3d, 6d, 9d, 12d, 15d, 18d, 21d}, 12d), Arguments.of(new double[] {5d, 10d, 15d, 20d, 25d, 30d, 35d}, 20d), Arguments.of(new double[] {1d, 2d, 3d, 4d, 5d, 6d, 7d, 8d}, 4.5d), Arguments.of(new double[] {0d, 0d, 0d}, 0d), + Arguments.of(new double[] {-1d, -2d, -3d}, -2d), Arguments.of(new double[] {1e-10, 1e-10, 1e-10}, 1e-10)); } private static Stream provideIntArrays() { pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy