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 }