// $Id: SmoothTest.m4,v 1.1 1999/10/03 00:50:46 leavens Exp leavens $

import lib.*;

public class SmoothTest extends Tester {

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

        evalsTo("approxEqual(new Smooth(new DoubleFun() { public double value(double x) { if (x < 5.0) { return 0.0; } else if (x > 5.0) { return -5.0; } else { return x * x * x; }}}).value(5.0), 40.0)", approxEqual(new Smooth(new DoubleFun() { public double value(double x) { if (x < 5.0) { return 0.0; } else if (x > 5.0) { return -5.0; } else { return x * x * x; }}}).value(5.0), 40.0), true);

	evalsTo("new Smooth(new DoubleFun() { public double value(double x) { return x + 1.0; } }).value(5.0)", new Smooth(new DoubleFun() { public double value(double x) { return x + 1.0; } }).value(5.0), 6.0);

        evalsTo("approxEqual(new Smooth(new DoubleFun() { public double value(double x) { return x * x * x; } }).value(5.0), 125.00001)", approxEqual(new Smooth(new DoubleFun() { public double value(double x) { return x * x * x; } }).value(5.0), 125.00001), true);

        evalsTo("approxEqual(new Smooth(new DoubleFun() { public double value(double x) { return x * x * x; } }).value(5.0), 125.00001)", approxEqual(new Smooth(new DoubleFun() { public double value(double x) { return x * x * x; } }).value(5.0), 125.00001), true);

	testReport();
    }

}
