Hallo,
ich will diese Methode mit JUnit Testen aber es funktioniert nicht.
Mir verwirt auch die Methode ein bisschen, weil es keine Rückgabe Wert hat und auch nicht Printmethode.
Hier verstehe auch nicht, wenn man null Array übergibt, was die if Anweise zurückliefert
Und meine Testklasse sieht so aus.
Die Methode assertArrayEquals ist rot gekennzeichnet.
Hat jemand Idee, was ich hier falsch mache?
ich will diese Methode mit JUnit Testen aber es funktioniert nicht.
Code:
public static void sort(int[] array) {
if (array == null) {
return;
}
if (array.length > 1) {
int mid = array.length / 2;
int[] left = new int[mid];
for (int i = 0; i < mid; i++) {
left[i] = array[i];
}
int[] right = new int[array.length - mid];
for (int i = mid; i < array.length; i++) {
right[i - mid] = array[i];
}
sort(left);
sort(right);
int i = 0;
int j = 0;
int k = 0;
while (i < left.length && j < right.length) {
if (left[i] < right[j]) {
array[k++] = left[i++];
} else {
array[k++] = right[j++];
}
}
while (i < left.length) {
array[k++] = left[i++];
}
while (j < right.length) {
array[k++] = right[j++];
}
}
}
Hier verstehe auch nicht, wenn man null Array übergibt, was die if Anweise zurückliefert
Java:
public static void sort(int[] array) {
if (array == null) {
return;
}
Und meine Testklasse sieht so aus.
Java:
import static org.junit.Assert.*;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import java.util.Arrays;
import org.junit.Test;
public class TestMergeSortTest {
@Test
void test() {
int[] unsorted = {5, 2, 4, 1, 8};
int[] sorted = {1, 2, 4, 5, 8};
assertArrayEquals(sorted, MergeSort.sort(unsorted));
}
}
Hat jemand Idee, was ich hier falsch mache?