001    package de.hska.info1.sortieren;
002    
003    import junit.framework.TestCase;
004    
005    /**
006     * JUnit-Testklasse für alle Sortiermethoden.
007     * 
008     * @author Christian Pape
009     */
010    public abstract class SortierenTest extends TestCase {
011    
012            private Sortieren sortieren;
013            
014            public SortierenTest(Sortieren sortieren) {
015                    this.sortieren = sortieren;
016            }
017            
018            public void test1() {
019                    int [] a = {1};
020                    
021                    sortieren.sortieren(a);
022                    
023                    assertEquals(1, a[0]);
024            }
025            
026            public void test2() {
027                    int [] a = {3, 5, 2, 1, 7};
028                    
029                    sortieren.sortieren(a);
030                    
031                    assertEquals(1, a[0]);
032                    assertEquals(2, a[1]);
033                    assertEquals(3, a[2]);
034                    assertEquals(5, a[3]);
035                    assertEquals(7, a[4]);
036    
037            }
038            
039            public void test3() {
040                    int [] a = {3, 5, 2, 5, 3};
041                    
042                    sortieren.sortieren(a);
043                    
044                    assertEquals(2, a[0]);
045                    assertEquals(3, a[1]);
046                    assertEquals(3, a[2]);
047                    assertEquals(5, a[3]);
048                    assertEquals(5, a[4]);
049    
050            }
051            
052            public void test4() {
053                    int [] a = new int[10000];
054                    a[6785] = 5;
055                    
056                    sortieren.sortieren(a);
057                    
058                    assertEquals(0, a[0]);
059                    assertEquals(5, a[a.length - 1]);
060    
061            }
062    
063    }