001 package de.hska.java.aufgaben.sortieren;
002
003 import junit.framework.TestCase;
004
005 /**
006 * JUnit-Testklasse für Mergesort.
007 *
008 * @author Christian Pape
009 */
010 public class MergesortTest extends TestCase {
011
012 private Sortieren mergesort = new Mergesort();
013
014 public void testSortieren() {
015 int [] a = {5};
016
017 mergesort.sortieren(a);
018
019 assertEquals(5, a[0]);
020 }
021
022 public void testSortieren1() {
023 int [] a = {2, 1};
024
025 mergesort.sortieren(a);
026
027 assertEquals(1, a[0]);
028 assertEquals(2, a[1]);
029 }
030
031
032 public void testSortieren2() {
033 int [] a = {1, 3, 2, 0};
034
035 mergesort.sortieren(a);
036
037 assertEquals(0, a[0]);
038 assertEquals(1, a[1]);
039 assertEquals(2, a[2]);
040 assertEquals(3, a[3]);
041 }
042
043 public void testSortieren3() {
044 int [] a = {1, 3, 2, 0};
045
046 mergesort.sortieren(a);
047
048 assertEquals(0, a[0]);
049 assertEquals(1, a[1]);
050 assertEquals(2, a[2]);
051 assertEquals(3, a[3]);
052 }
053
054 public void testSortieren4() {
055 int [] a = {5, 8, 3, 7, 1, 6, 2, 4};
056
057 mergesort.sortieren(a);
058
059 assertEquals(1, a[0]);
060 assertEquals(2, a[1]);
061 assertEquals(3, a[2]);
062 assertEquals(4, a[3]);
063 assertEquals(5, a[4]);
064 assertEquals(6, a[5]);
065 assertEquals(7, a[6]);
066 assertEquals(8, a[7]);
067 }
068
069 /**
070 * Test mit einem Feld, dessen Länge keine 2er-Potenz ist.
071 */
072 public void testSortieren5() {
073 int [] a = {5, 4, 3, 7, 1, 6, 2};
074
075 mergesort.sortieren(a);
076
077 assertEquals(1, a[0]);
078 assertEquals(2, a[1]);
079 assertEquals(3, a[2]);
080 assertEquals(4, a[3]);
081 assertEquals(5, a[4]);
082 assertEquals(6, a[5]);
083 assertEquals(7, a[6]);
084 }
085 }