// $Id: CubicTest.m4,v 1.1 1999/10/03 00:50:46 leavens Exp leavens $
include(testmacros.m4)
import lib.*;

public class CubicTest extends Tester {

    public static void main(String [] argv) {
        System.out.println("");
        System.out.println("Test $RCSfile: CubicTest.m4,v $ of $Date: 1999/10/03 00:50:46 $");
        System.out.println("");

	expectEvalsTo(approxEqual(new Cubic(0.0, 0.0, 0.0).value(3.0), 27.0), true);
	expectEvalsTo(approxEqual(new Cubic(1.0, 0.0, 0.0).value(3.0), 36.0), true);
	expectEvalsTo(approxEqual(new Cubic(0.0, 1.0, 0.0).value(3.0), 30.0), true);
	expectEvalsTo(approxEqual(new Cubic(0.0, 0.0, 8.0).value(5.0), 133.0), true);
	expectEvalsTo(approxEqual(new Cubic(3.0, 2.0, 7.0).value(5.0), 217.0), true);

        expectEvalsTo(approxEqual(new NewtonsMethod().solve(new Cubic(3.0, 2.0, 7.0), 1.0), -3.08674533988258), true);

	testReport();
    }

}
