001 package de.hska.java.aufgaben.suchen;
002
003 import junit.framework.TestCase;
004
005 /**
006 * JUnit-Testklasse für Nullstellensuche.
007 *
008 * @author Christian Pape
009 *
010 */
011 public class NullstellensucheTest extends TestCase {
012
013 /**
014 * Überprüft die Nullstellensuche bei einem Polynom 3. Grades.
015 */
016 public void testSucheNullstelle() {
017 Funktion f = new EinPolynom();
018 Nullstellensuche nullstellensuche = new Nullstellensuche(f, 0.0001);
019
020 assertEquals(0.0, f.f(nullstellensuche.sucheNullstelle(-1, 1)), 0.0001);
021 }
022
023 /**
024 * Überprüft, ob bei (x+1)(x-1) die beiden Nullstellen 1 und -1 gefunden werden.s
025 *
026 */
027 public void testSucheNullstelle1() {
028 // Für Freunde der anonymen Klassen:
029 Funktion f = new Funktion() {
030
031 public double f(double x) {
032 return (x + 1) * (x - 1);
033 }
034
035 };
036
037 Nullstellensuche nullstellensuche = new Nullstellensuche(f, 0.0001);
038
039 assertEquals(0.0, f.f(nullstellensuche.sucheNullstelle(0, -2)), 0.0001);
040 assertEquals(0.0, f.f(nullstellensuche.sucheNullstelle(2, 0)), 0.0001);
041
042 }
043 }