diff --git a/src/main/java/com/thealgorithms/maths/Average.java b/src/main/java/com/thealgorithms/maths/Average.java index 21ca818a..6f2c27a9 100644 --- a/src/main/java/com/thealgorithms/maths/Average.java +++ b/src/main/java/com/thealgorithms/maths/Average.java @@ -5,25 +5,6 @@ package com.thealgorithms.maths; */ public class Average { - private static final double SMALL_VALUE = 0.00001f; - - public static void main(String[] args) { - assert Math.abs( - average(new double[] { 3, 6, 9, 12, 15, 18, 21 }) - 12 - ) < - SMALL_VALUE; - assert Math.abs( - average(new double[] { 5, 10, 15, 20, 25, 30, 35 }) - 20 - ) < - SMALL_VALUE; - assert Math.abs( - average(new double[] { 1, 2, 3, 4, 5, 6, 7, 8 }) - 4.5 - ) < - SMALL_VALUE; - int[] array = { 2, 4, 10 }; - assert average(array) == 5; - } - /** * Calculate average of a list of numbers * @@ -41,15 +22,15 @@ public class Average { /** * find average value of int array * - * @param array the array contains element and the sum does not excess long - * value limit + * @param numbers the array contains element and the sum does not excess long + * value limit * @return average value */ - public static int average(int[] array) { + public static int average(int[] numbers) { long sum = 0; - for (int i = 0; i < array.length; ++i) { - sum += array[i]; + for (int number : numbers) { + sum += number; } - return (int) (sum / array.length); + return (int) (sum / numbers.length); } } diff --git a/src/test/java/com/thealgorithms/maths/AverageTest.java b/src/test/java/com/thealgorithms/maths/AverageTest.java index 2b82f6f9..3069c163 100644 --- a/src/test/java/com/thealgorithms/maths/AverageTest.java +++ b/src/test/java/com/thealgorithms/maths/AverageTest.java @@ -5,10 +5,30 @@ import org.junit.jupiter.api.Test; public class AverageTest { - double[] numbers = { 3, 6, 9, 12, 15, 18, 21 }; + private static final double SMALL_VALUE = 0.00001d; @Test - public void testAverage() { - Assertions.assertEquals(12, Average.average(numbers)); + public void testAverage_double_12() { + double[] numbers = {3d, 6d, 9d, 12d, 15d, 18d, 21d}; + Assertions.assertEquals(12d, Average.average(numbers), SMALL_VALUE); } + + @Test + public void testAverage_double_20() { + double[] numbers = {5d, 10d, 15d, 20d, 25d, 30d, 35d}; + Assertions.assertEquals(20d, Average.average(numbers), SMALL_VALUE); + } + + @Test + public void testAverage_double_4_5() { + double[] numbers = {1d, 2d, 3d, 4d, 5d, 6d, 7d, 8d}; + Assertions.assertEquals(4.5d, Average.average(numbers), SMALL_VALUE); + } + + @Test + public void testAverage_int_5() { + int[] numbers = {2, 4, 10}; + Assertions.assertEquals(5, Average.average(numbers)); + } + }