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    }