Skip to content

Commit e6f271a

Browse files
authored
Update StalinSortTest.java
1 parent 3d7b1b6 commit e6f271a

File tree

1 file changed

+44
-26
lines changed

1 file changed

+44
-26
lines changed
Lines changed: 44 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,52 @@
1-
import static org.junit.jupiter.params.provider.Arguments.arguments;
1+
package com.thealgorithms.sorts;
22

3-
import java.util.stream.Stream;
3+
import org.junit.jupiter.api.Test;
4+
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
45

5-
import org.junit.jupiter.params.ParameterizedTest;
6-
import org.junit.jupiter.params.provider.MethodSource;
6+
public class StalinSortTest {
77

8-
class StalinSortTest {
9-
10-
@ParameterizedTest
11-
@MethodSource("provideArraysForStalinSort")
12-
void testStalinSort(Integer[] input, Integer[] expected) {
8+
@Test
9+
public void testSortIntegers() {
1310
StalinSort stalinSort = new StalinSort();
14-
Integer[] sortedArray = stalinSort.sort(input);
15-
assertArrayEquals(expected, sortedArray);
11+
Integer[] input = {4, 23, 6, 78, 1, 54, 231, 9, 12};
12+
Integer[] expected = {4, 23, 78, 231};
13+
Integer[] result = stalinSort.sort(input);
14+
assertArrayEquals(expected, result);
1615
}
1716

18-
private static Stream<Arguments> provideArraysForStalinSort() {
19-
return Stream.of(arguments(new Integer[] {4}, new Integer[] {4}),
20-
arguments(new Integer[] {4, 23, 6, 78, 1, 54, 231, 9, 12}, new Integer[] {4, 23, 78, 231}),
21-
arguments(new Integer[] {5, 5, 5, 5, 5}, new Integer[] {5, 5, 5, 5, 5}),
22-
arguments(new Integer[] {1, 2, 3, 4, 5}, new Integer[] {1, 2, 3, 4, 5}),
23-
arguments(new Integer[] {5, 4, 3, 2, 1}, new Integer[] {5}),
24-
arguments(new String[] {"c", "a", "e", "b", "d"}, new String[] {"c", "e"}),
25-
arguments(new Integer[] {-1, -2, -3, 4, 5}, new Integer[] {-1, 4, 5}),
26-
arguments(new Integer[] {0, -1, -2, 1, 2}, new Integer[] {0, 1, 2}),
27-
arguments(new Integer[] {3, -1, 0, -5, 2}, new Integer[] {3}),
28-
arguments(new Integer[] {10, 10, 10, 10}, new Integer[] {10, 10, 10, 10}),
29-
arguments(new Integer[] {1, 2, 2, 3, 3, 3, 4}, new Integer[] {1, 2, 2, 3, 3, 3, 4}),
30-
arguments(new Integer[] {Integer.MAX_VALUE, Integer.MIN_VALUE, 0}, new Integer[] {Integer.MAX_VALUE}),
31-
arguments(new Character[] {'d', 'a', 'c', 'b'}, new Character[] {'d'}),
32-
arguments(new Integer[] {100, 200, 150, 300, 250, 400, 350, 450, 500}, new Integer[] {100, 200, 300, 400, 500}));
17+
@Test
18+
public void testSortStrings() {
19+
StalinSort stalinSort = new StalinSort();
20+
String[] input = {"c", "a", "e", "b", "d"};
21+
String[] expected = {"a", "b", "c", "d", "e"};
22+
String[] result = stalinSort.sort(input);
23+
assertArrayEquals(expected, result);
24+
}
25+
26+
@Test
27+
public void testSortWithDuplicates() {
28+
StalinSort stalinSort = new StalinSort();
29+
Integer[] input = {1, 3, 2, 2, 5, 4};
30+
Integer[] expected = {1, 2, 5};
31+
Integer[] result = stalinSort.sort(input);
32+
assertArrayEquals(expected, result);
33+
}
34+
35+
@Test
36+
public void testSortEmptyArray() {
37+
StalinSort stalinSort = new StalinSort();
38+
Integer[] input = {};
39+
Integer[] expected = {};
40+
Integer[] result = stalinSort.sort(input);
41+
assertArrayEquals(expected, result);
42+
}
43+
44+
@Test
45+
public void testSortSingleElement() {
46+
StalinSort stalinSort = new StalinSort();
47+
Integer[] input = {42};
48+
Integer[] expected = {42};
49+
Integer[] result = stalinSort.sort(input);
50+
assertArrayEquals(expected, result);
3351
}
3452
}

0 commit comments

Comments
 (0)