/* * File: SolverFunctionTest.java * Authors: Kevin R. Dixon * Company: Sandia National Laboratories * Project: Cognitive Foundry * * Copyright Feb 9, 2009, Sandia Corporation. * Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive * license for use of this work by or on behalf of the U.S. Government. * Export of this program may require a license from the United States * Government. See CopyrightHistory.txt for complete details. * */ package gov.sandia.cognition.learning.algorithm.root; import gov.sandia.cognition.evaluator.Evaluator; import gov.sandia.cognition.learning.function.scalar.AtanFunction; import java.util.Random; import junit.framework.TestCase; /** * SolverFunctionTest * @author krdixon */ public class SolverFunctionTest extends TestCase { public Random random = new Random( 1 ); /** * Creates the test * @param testName * Test name. */ public SolverFunctionTest( String testName) { super(testName); } /** * Test of getTarget method, of class SolverFunction. */ public void testGetTarget() { System.out.println("getTarget"); SolverFunction instance = new SolverFunction(); assertEquals( 0.0, instance.getTarget() ); double t = random.nextGaussian(); instance = new SolverFunction(t, null); assertEquals( t, instance.getTarget() ); } /** * Test of setTarget method, of class SolverFunction. */ public void testSetTarget() { System.out.println("setTarget"); double t = random.nextGaussian(); SolverFunction instance = new SolverFunction(t, null); assertEquals( t, instance.getTarget() ); double t2 = t + random.nextGaussian(); instance.setTarget(t2); assertEquals( t2, instance.getTarget() ); } /** * Test of getInternalFunction method, of class SolverFunction. */ public void testGetInternalFunction() { System.out.println("getInternalFunction"); SolverFunction instance = new SolverFunction(); assertNull( instance.getInternalFunction() ); Evaluator<Double,Double> f = new AtanFunction(); instance = new SolverFunction( random.nextGaussian(), f ); assertSame( f, instance.getInternalFunction() ); } /** * Test of setInternalFunction method, of class SolverFunction. */ public void testSetInternalFunction() { System.out.println("setInternalFunction"); Evaluator<Double,Double> f = new AtanFunction(); SolverFunction instance = new SolverFunction( random.nextGaussian(), f ); assertSame( f, instance.getInternalFunction() ); Evaluator<Double,Double> f2 = new AtanFunction(); instance.setInternalFunction(f2); assertSame( f2, instance.getInternalFunction() ); } /** * Test of evaluate method, of class SolverFunction. */ public void testEvaluate() { System.out.println("evaluate"); double t = random.nextGaussian(); Evaluator<Double,Double> f = new AtanFunction(); double x = random.nextGaussian(); double y = f.evaluate(x) - t; SolverFunction instance = new SolverFunction( t, f ); assertEquals( y, instance.evaluate(x) ); } }