|
1 |
| -import static org.junit.jupiter.params.provider.Arguments.arguments; |
| 1 | +package com.thealgorithms.sorts; |
2 | 2 |
|
3 |
| -import java.util.stream.Stream; |
| 3 | +import org.junit.jupiter.api.Test; |
| 4 | +import static org.junit.jupiter.api.Assertions.assertArrayEquals; |
4 | 5 |
|
5 |
| -import org.junit.jupiter.params.ParameterizedTest; |
6 |
| -import org.junit.jupiter.params.provider.MethodSource; |
| 6 | +public class StalinSortTest { |
7 | 7 |
|
8 |
| -class StalinSortTest { |
9 |
| - |
10 |
| - @ParameterizedTest |
11 |
| - @MethodSource("provideArraysForStalinSort") |
12 |
| - void testStalinSort(Integer[] input, Integer[] expected) { |
| 8 | + @Test |
| 9 | + public void testSortIntegers() { |
13 | 10 | 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); |
16 | 15 | }
|
17 | 16 |
|
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); |
33 | 51 | }
|
34 | 52 | }
|
0 commit comments