Skip to content

Commit 6235fd6

Browse files
Add tests for Average (TheAlgorithms#3652)
1 parent d88b701 commit 6235fd6

File tree

2 files changed

+29
-28
lines changed

2 files changed

+29
-28
lines changed

src/main/java/com/thealgorithms/maths/Average.java

+6-25
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,6 @@
55
*/
66
public class Average {
77

8-
private static final double SMALL_VALUE = 0.00001f;
9-
10-
public static void main(String[] args) {
11-
assert Math.abs(
12-
average(new double[] { 3, 6, 9, 12, 15, 18, 21 }) - 12
13-
) <
14-
SMALL_VALUE;
15-
assert Math.abs(
16-
average(new double[] { 5, 10, 15, 20, 25, 30, 35 }) - 20
17-
) <
18-
SMALL_VALUE;
19-
assert Math.abs(
20-
average(new double[] { 1, 2, 3, 4, 5, 6, 7, 8 }) - 4.5
21-
) <
22-
SMALL_VALUE;
23-
int[] array = { 2, 4, 10 };
24-
assert average(array) == 5;
25-
}
26-
278
/**
289
* Calculate average of a list of numbers
2910
*
@@ -41,15 +22,15 @@ public static double average(double[] numbers) {
4122
/**
4223
* find average value of int array
4324
*
44-
* @param array the array contains element and the sum does not excess long
45-
* value limit
25+
* @param numbers the array contains element and the sum does not excess long
26+
* value limit
4627
* @return average value
4728
*/
48-
public static int average(int[] array) {
29+
public static int average(int[] numbers) {
4930
long sum = 0;
50-
for (int i = 0; i < array.length; ++i) {
51-
sum += array[i];
31+
for (int number : numbers) {
32+
sum += number;
5233
}
53-
return (int) (sum / array.length);
34+
return (int) (sum / numbers.length);
5435
}
5536
}

src/test/java/com/thealgorithms/maths/AverageTest.java

+23-3
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,30 @@
55

66
public class AverageTest {
77

8-
double[] numbers = { 3, 6, 9, 12, 15, 18, 21 };
8+
private static final double SMALL_VALUE = 0.00001d;
99

1010
@Test
11-
public void testAverage() {
12-
Assertions.assertEquals(12, Average.average(numbers));
11+
public void testAverage_double_12() {
12+
double[] numbers = {3d, 6d, 9d, 12d, 15d, 18d, 21d};
13+
Assertions.assertEquals(12d, Average.average(numbers), SMALL_VALUE);
1314
}
15+
16+
@Test
17+
public void testAverage_double_20() {
18+
double[] numbers = {5d, 10d, 15d, 20d, 25d, 30d, 35d};
19+
Assertions.assertEquals(20d, Average.average(numbers), SMALL_VALUE);
20+
}
21+
22+
@Test
23+
public void testAverage_double_4_5() {
24+
double[] numbers = {1d, 2d, 3d, 4d, 5d, 6d, 7d, 8d};
25+
Assertions.assertEquals(4.5d, Average.average(numbers), SMALL_VALUE);
26+
}
27+
28+
@Test
29+
public void testAverage_int_5() {
30+
int[] numbers = {2, 4, 10};
31+
Assertions.assertEquals(5, Average.average(numbers));
32+
}
33+
1434
}

0 commit comments

Comments
 (0)