Hi,
hab hier eine Implementierung eines Sortieralgorithmuses, der korrekt läuft, wenn ich ihn in einer normalen Klasse in der main() ausführe. Wenn ich den gleichen Aufruf aber in einem JUnit-TestCase mache, bleibt das Array aber angeblich unsortiert.
Hier mal der Code der Aufrufe, der Code des Algorithmus müsste ja erstmal keine Rolle spielen. Ist da irgendwo nen Fehler oder hab ich nen Denkfehler oder so?
Ausgabe:
original Feld: [5, 6, 4, 3, 2, 1]
sortiertes Feld: [1, 2, 3, 4, 5, 6]
Ausgabe:
original Feld: [5, 6, 4, 3, 2, 1]
sortiertes Feld: [5, 6, 4, 3, 2, 1]
und der Test schlägt fehl.
Danke
hab hier eine Implementierung eines Sortieralgorithmuses, der korrekt läuft, wenn ich ihn in einer normalen Klasse in der main() ausführe. Wenn ich den gleichen Aufruf aber in einem JUnit-TestCase mache, bleibt das Array aber angeblich unsortiert.
Hier mal der Code der Aufrufe, der Code des Algorithmus müsste ja erstmal keine Rolle spielen. Ist da irgendwo nen Fehler oder hab ich nen Denkfehler oder so?
Code:
public class Test {
public static void main(String args[]) {
int b[] = {5,6,4,3,2,1};
System.out.println("original Feld: " + Arrays.toString(b));
System.out.println("sortiertes Feld: " + Arrays.toString(NaturalMergeSort.naturalMergeSort(b)));
}
}
Ausgabe:
original Feld: [5, 6, 4, 3, 2, 1]
sortiertes Feld: [1, 2, 3, 4, 5, 6]
Code:
public class TestNaturalMergeSort extends TestCase {
public void testTmp() {
int[] b = {5,6,4,3,2,1};
int[] bClone = b.clone();
System.out.println("original Feld: " + Arrays.toString(b));
System.out.println("sortiertes Feld: " + Arrays.toString(NaturalMergeSort.naturalMergeSort(bClone)));
Arrays.sort(b);
assertEquals(b, NaturalMergeSort.naturalMergeSort(bClone));
}
}
Ausgabe:
original Feld: [5, 6, 4, 3, 2, 1]
sortiertes Feld: [5, 6, 4, 3, 2, 1]
und der Test schlägt fehl.
Danke