/*
* File: ScalarBasisSetTest.java
* Authors: Kevin R. Dixon
* Company: Sandia National Laboratories
* Project: Cognitive Foundry
*
* Copyright Nov 30, 2007, 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.function.vector;
import gov.sandia.cognition.evaluator.Evaluator;
import gov.sandia.cognition.learning.function.scalar.PolynomialFunction;
import gov.sandia.cognition.math.matrix.Vector;
import java.util.Collection;
import junit.framework.TestCase;
/**
* JUnit tests for class ScalarBasisSetTest
* @author Kevin R. Dixon
*/
public class ScalarBasisSetTest
extends TestCase
{
/**
* Entry point for JUnit tests for class ScalarBasisSetTest
* @param testName name of this test
*/
public ScalarBasisSetTest(
String testName )
{
super( testName );
}
public ScalarBasisSet<Double> createInstance()
{
return new ScalarBasisSet<Double>(
PolynomialFunction.createPolynomials( 0.0, 1.0, 2.0 ) );
}
/**
* Test of clone method, of class ScalarBasisSet.
*/
public void testClone()
{
System.out.println( "clone" );
ScalarBasisSet<?> instance = this.createInstance();
ScalarBasisSet<?> clone = (ScalarBasisSet<?>) instance.clone();
assertNotSame( instance, clone );
}
/**
* Test of getOutputDimensionality method, of class ScalarBasisSet.
*/
public void testGetOutputDimensionality()
{
System.out.println( "getOutputDimensionality" );
ScalarBasisSet<?> instance = this.createInstance();
assertEquals( instance.getBasisFunctions().size(), instance.getOutputDimensionality() );
}
/**
* Test of evaluate method, of class ScalarBasisSet.
*/
public void testEvaluate()
{
System.out.println( "evaluate" );
ScalarBasisSet<Double> instance = this.createInstance();
double x = Math.random();
Vector yhat = instance.evaluate( x );
int i = 0;
for (Evaluator<? super Double, Double> f : instance.getBasisFunctions())
{
assertEquals( f.evaluate( x ), yhat.getElement( i ), 1e-5 );
i++;
}
}
/**
* Test of getBasisFunctions method, of class ScalarBasisSet.
*/
public void testGetBasisFunctions()
{
System.out.println( "getBasisFunctions" );
ScalarBasisSet<Double> instance = this.createInstance();
Collection<? extends Evaluator<? super Double, Double>> result = instance.getBasisFunctions();
assertNotNull( result );
}
/**
* Test of setBasisFunctions method, of class ScalarBasisSet.
*/
public void testSetBasisFunctions()
{
System.out.println( "setBasisFunctions" );
ScalarBasisSet<Double> instance = this.createInstance();
Collection<? extends Evaluator<? super Double, Double>> result = instance.getBasisFunctions();
assertNotNull( result );
instance.setBasisFunctions( null );
assertNull( instance.getBasisFunctions() );
instance.setBasisFunctions( result );
assertSame( result, instance.getBasisFunctions() );
}
}