Skip to content

Commit f7dee0d

Browse files
authored
Add tests for recursive merge sort (TheAlgorithms#3510)
1 parent b294ddc commit f7dee0d

File tree

3 files changed

+72
-2
lines changed

3 files changed

+72
-2
lines changed

src/main/java/com/thealgorithms/sorts/MergeSortRecursive.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ public MergeSortRecursive(List<Integer> arr) {
1212
this.arr = arr;
1313
}
1414

15-
public void mergeSort() {
15+
public List<Integer> mergeSort() {
1616
List<Integer> arrSorted = merge(arr);
17-
System.out.println(arrSorted);
17+
return arrSorted;
1818
}
1919

2020
private static List<Integer> merge(List<Integer> arr) {
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.thealgorithms.sorts;
2+
3+
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
4+
5+
import org.junit.jupiter.api.Test;
6+
7+
public class HeapSortTest {
8+
9+
private HeapSort heapSort = new HeapSort();
10+
11+
@Test
12+
void testHeapSortCase1() {
13+
Integer[] array = { 49, 4, 36, 9, 144, 1 };
14+
Integer[] sorted = heapSort.sort(array);
15+
Integer[] expected = { 1, 4, 9, 36, 49, 144 };
16+
assertArrayEquals(expected, sorted);
17+
}
18+
19+
@Test
20+
void testHeapSortCase2() {
21+
Integer[] array = { };
22+
Integer[] sorted = heapSort.sort(array);
23+
Integer[] expected = { };
24+
assertArrayEquals(expected, sorted);
25+
}
26+
27+
@Test
28+
void testHeapSortCase3 () {
29+
Integer[] array = { -3, 5, 3, 4, 3, 7, 40, -20, 30, 0 };
30+
Integer[] sorted = heapSort.sort(array);
31+
Integer[] expected = { -20, -3, 0, 3, 3, 4, 5, 7, 30, 40 };
32+
assertArrayEquals(expected, sorted);
33+
}
34+
35+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.thealgorithms.sorts;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
5+
import java.util.ArrayList;
6+
import java.util.Arrays;
7+
import java.util.List;
8+
9+
import org.junit.jupiter.api.Test;
10+
11+
public class MergeSortRecursiveTest {
12+
13+
// private MergeSortRecursive mergeSortRecursive = new MergeSortRecursive();
14+
15+
@Test
16+
void testMergeSortRecursiveCase1 () {
17+
MergeSortRecursive mergeSortRecursive = new MergeSortRecursive(Arrays.asList(5, 12, 9, 3, 15, 88));
18+
19+
List<Integer> expected = Arrays.asList(3, 5, 9, 12, 15, 88);
20+
List<Integer> sorted = mergeSortRecursive.mergeSort();
21+
22+
assertEquals(expected, sorted);
23+
}
24+
25+
@Test
26+
void testMergeSortRecursiveCase2 () {
27+
MergeSortRecursive mergeSortRecursive = new MergeSortRecursive(Arrays.asList(-3, 5, 3, 4, 3, 7, 40, -20, 30, 0));
28+
29+
List<Integer> expected = Arrays.asList(-20, -3, 0, 3, 3, 4, 5, 7, 30, 40);
30+
List<Integer> sorted = mergeSortRecursive.mergeSort();
31+
32+
assertEquals(expected, sorted);
33+
}
34+
35+
}

0 commit comments

Comments
 (0)