001    package de.hska.java.aufgaben.objekte;
002    
003    import junit.framework.TestCase;
004    
005    /**
006     * JUnit-Test für Polynom.
007     * 
008     * @author Christian Pape
009     *
010     */
011    public class PolynomTest extends TestCase {
012    
013            /**
014             * Test für das Null-Polynom p(x) = 0.
015             */
016            public void testF() {
017                    Polynom polynom = new Polynom();
018                    
019                    assertEquals(0.0, polynom.f(7.0), 0.000001);
020            }
021    
022            /**
023             * x*x -  1 = (x + 1)(x - 1)
024             */
025            public void testF1() {
026                    double [] p = {-1.0, 0.0, 1.0};
027                    
028                    Polynom polynom = new Polynom(p);
029                    
030                    assertEquals(0.0, polynom.f(1.0), 0.000001);
031                    assertEquals(-1.0, polynom.f(0.0), 0.000001);
032                    assertEquals(0.0, polynom.f(-1.0), 0.000001);
033            }
034            
035            public void testGetGrad1() {
036                    double [] p = {-1.0, 0.0, 1.0};
037                    
038                    Polynom polynom = new Polynom(p);
039                    
040                    assertEquals(2, polynom.getGrad());             
041            }
042            
043            public void testGetGrad2() {
044                    Polynom polynom = new Polynom();
045                    
046                    assertEquals(0, polynom.getGrad());             
047            }
048            
049            public void testGetStelle() {
050                    double [] p = {-1.0, 2.0, 1.0};
051                    
052                    Polynom polynom = new Polynom(p);
053                    
054                    assertEquals(-1.0, polynom.getKoeffizient(0), 0.00001);         
055                    assertEquals(2.0, polynom.getKoeffizient(1), 0.00001);          
056                    assertEquals(1.0, polynom.getKoeffizient(2), 0.00001);          
057            }
058            
059            public void testAddiere1() {
060                    double [] p1 = {-1.0, 4.0, 1.0};
061                    double [] p2 = {1.0, 2.0, 1.0};
062                    
063                    Polynom polynom = new Polynom(p1).addiere(new Polynom(p2));
064                    
065                    assertEquals(0.0, polynom.getKoeffizient(0), 0.000001);
066                    assertEquals(6.0, polynom.getKoeffizient(1), 0.000001);
067                    assertEquals(2.0, polynom.getKoeffizient(2), 0.000001);
068            }
069                    
070            public void testAddiere2() {
071                    double [] p1 = {-1.0, 4.0};
072                    double [] p2 = {1.0, 2.0, 1.0, -3.0};
073                    
074                    Polynom polynom = new Polynom(p1).addiere(new Polynom(p2));
075                    
076                    assertEquals(0.0, polynom.getKoeffizient(0), 0.000001);
077                    assertEquals(6.0, polynom.getKoeffizient(1), 0.000001);
078                    assertEquals(1.0, polynom.getKoeffizient(2), 0.000001);
079                    assertEquals(-3.0, polynom.getKoeffizient(3), 0.000001);
080            }
081    
082    
083    
084            public void testAddiere3() {
085                    double [] p1 = {-1.0, 4.0, -1.0};
086                    double [] p2 = {2.0, 2.0, 1.0};
087                    
088                    Polynom polynom = new Polynom(p1).addiere(new Polynom(p2));
089                    
090                    assertEquals(1.0, polynom.getKoeffizient(0), 0.000001);
091                    assertEquals(6.0, polynom.getKoeffizient(1), 0.000001);
092                    assertEquals(1, polynom.getGrad());
093            }
094    
095            public void testGetErsteAbleitung1() {
096                    double [] p1 = {-1.0, 4.0, -1.0};
097                    
098                    Polynom polynom = new Polynom(p1);
099                    Polynom ableitung = polynom.getErsteAbleitung();
100                    
101                    assertEquals(4.0, ableitung.getKoeffizient(0), 0.000001);
102                    assertEquals(-2.0, ableitung.getKoeffizient(1), 0.000001);
103                    assertEquals(1, ableitung.getGrad());
104            }
105    
106            public void testGetErsteAbleitung2() {
107                    double [] p1 = {-1.0};
108                    
109                    Polynom polynom = new Polynom(p1);
110                    Polynom ableitung = polynom.getErsteAbleitung();
111                    
112                    assertEquals(0.0, ableitung.getKoeffizient(0), 0.000001);
113                    assertEquals(0, ableitung.getGrad());
114            }
115            
116            public void testGetErsteAbleitung3() {
117                    Polynom polynom = new Polynom();
118                    Polynom ableitung = polynom.getErsteAbleitung();
119                    
120                    assertEquals(0.0, ableitung.getKoeffizient(0), 0.000001);
121                    assertEquals(0, ableitung.getGrad());
122            }
123            
124            public void testGetErsteAbleitung4() {
125                    double [] p1 = {2.0, 4.5, 8.0, -2.0};
126                    
127                    Polynom polynom = new Polynom(p1);
128                    Polynom ableitung = polynom.getErsteAbleitung();
129                    
130                    assertEquals(4.5, ableitung.getKoeffizient(0), 0.000001);
131                    assertEquals(16.0, ableitung.getKoeffizient(1), 0.000001);
132                    assertEquals(-6.0, ableitung.getKoeffizient(2), 0.000001);
133                    assertEquals(2, ableitung.getGrad());
134            }
135            
136    }