/* * File: EvaluatorBasedCognitiveModuleSettingsTest.java * Authors: Justin Basilico * Company: Sandia National Laboratories * Project: Cognitive Foundry * * Copyright June 26, 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.framework.learning; import gov.sandia.cognition.framework.learning.converter.CogxelVectorConverter; import gov.sandia.cognition.framework.DefaultSemanticLabel; import gov.sandia.cognition.framework.SemanticLabel; import gov.sandia.cognition.learning.function.vector.LinearVectorFunction; import gov.sandia.cognition.math.matrix.Vector; import junit.framework.TestCase; /** * This class implements JUnit tests for the following classes: * @author Justin Basilico * @since 2.0 */ public class EvaluatorBasedCognitiveModuleSettingsTest extends TestCase { public EvaluatorBasedCognitiveModuleSettingsTest( String testName) { super(testName); } public void testConstructors() { DefaultSemanticLabel in1 = new DefaultSemanticLabel("in1"); DefaultSemanticLabel in2 = new DefaultSemanticLabel("in2"); DefaultSemanticLabel out1 = new DefaultSemanticLabel("out1"); LinearVectorFunction evaluator = new LinearVectorFunction(Math.random()); CogxelVectorConverter inputConverter = new CogxelVectorConverter( new SemanticLabel[]{in1, in2}); CogxelVectorConverter outputConverter = new CogxelVectorConverter( new SemanticLabel[]{out1}); EvaluatorBasedCognitiveModuleSettings<Vector, Vector> instance = new EvaluatorBasedCognitiveModuleSettings<Vector, Vector>(); assertNull(instance.getEvaluator()); assertNull(instance.getInputConverter()); assertNull(instance.getOutputConverter()); instance = new EvaluatorBasedCognitiveModuleSettings<Vector, Vector>( evaluator, inputConverter, outputConverter); assertSame(instance.getEvaluator(), evaluator); assertSame(instance.getInputConverter(), inputConverter); assertSame(instance.getOutputConverter(), outputConverter); instance = new EvaluatorBasedCognitiveModuleSettings<Vector, Vector>(instance); assertSame(instance.getEvaluator(), evaluator); assertNotSame(instance.getInputConverter(), inputConverter); assertEquals(inputConverter, instance.getInputConverter()); assertNotSame(instance.getOutputConverter(), outputConverter); assertEquals(outputConverter, instance.getOutputConverter()); } /** * Test of clone method, of class gov.sandia.cognition.framework.learning.EvaluatorBasedCognitiveModuleSettings. */ public void testClone() { DefaultSemanticLabel in1 = new DefaultSemanticLabel("in1"); DefaultSemanticLabel in2 = new DefaultSemanticLabel("in2"); DefaultSemanticLabel out1 = new DefaultSemanticLabel("out1"); LinearVectorFunction evaluator = new LinearVectorFunction(Math.random()); CogxelVectorConverter inputConverter = new CogxelVectorConverter( new SemanticLabel[]{in1, in2}); CogxelVectorConverter outputConverter = new CogxelVectorConverter( new SemanticLabel[]{out1}); EvaluatorBasedCognitiveModuleSettings<Vector, Vector> instance = new EvaluatorBasedCognitiveModuleSettings<Vector, Vector>( evaluator, inputConverter, outputConverter); EvaluatorBasedCognitiveModuleSettings<Vector, Vector> clone = instance.clone(); assertNotSame(instance, clone); assertSame(clone.getEvaluator(), evaluator); assertNotSame(clone.getInputConverter(), inputConverter); assertEquals(inputConverter, clone.getInputConverter()); assertNotSame(clone.getOutputConverter(), outputConverter); assertEquals(outputConverter, clone.getOutputConverter()); } /** * Test of getEvaluator method, of class gov.sandia.cognition.framework.learning.EvaluatorBasedCognitiveModuleSettings. */ public void testGetEvaluator() { EvaluatorBasedCognitiveModuleSettings<Vector, Vector> instance = new EvaluatorBasedCognitiveModuleSettings<Vector, Vector>(); assertNull(instance.getEvaluator()); LinearVectorFunction evaluator = new LinearVectorFunction(Math.random()); instance.setEvaluator(evaluator); assertSame(evaluator, instance.getEvaluator()); } /** * Test of setEvaluator method, of class gov.sandia.cognition.framework.learning.EvaluatorBasedCognitiveModuleSettings. */ public void testSetEvaluator() { EvaluatorBasedCognitiveModuleSettings<Vector, Vector> instance = new EvaluatorBasedCognitiveModuleSettings<Vector, Vector>(); assertNull(instance.getEvaluator()); LinearVectorFunction evaluator = new LinearVectorFunction(Math.random()); instance.setEvaluator(evaluator); assertSame(evaluator, instance.getEvaluator()); instance.setEvaluator(null); assertNull(instance.getEvaluator()); } /** * Test of getInputConverter method, of class gov.sandia.cognition.framework.learning.EvaluatorBasedCognitiveModuleSettings. */ public void testGetInputConverter() { DefaultSemanticLabel in1 = new DefaultSemanticLabel("in1"); DefaultSemanticLabel in2 = new DefaultSemanticLabel("in2"); CogxelVectorConverter inputConverter = new CogxelVectorConverter( new SemanticLabel[]{in1, in2}); EvaluatorBasedCognitiveModuleSettings<Vector, Vector> instance = new EvaluatorBasedCognitiveModuleSettings<Vector, Vector>(); assertNull(instance.getInputConverter()); instance.setInputConverter(inputConverter); assertSame(instance.getInputConverter(), inputConverter); } /** * Test of setInputConverter method, of class gov.sandia.cognition.framework.learning.EvaluatorBasedCognitiveModuleSettings. */ public void testSetInputConverter() { DefaultSemanticLabel in1 = new DefaultSemanticLabel("in1"); DefaultSemanticLabel in2 = new DefaultSemanticLabel("in2"); CogxelVectorConverter inputConverter = new CogxelVectorConverter( new SemanticLabel[]{in1, in2}); EvaluatorBasedCognitiveModuleSettings<Vector, Vector> instance = new EvaluatorBasedCognitiveModuleSettings<Vector, Vector>(); assertNull(instance.getInputConverter()); instance.setInputConverter(inputConverter); assertSame(instance.getInputConverter(), inputConverter); instance.setInputConverter(null); assertNull(instance.getInputConverter()); } /** * Test of getOutputConverter method, of class gov.sandia.cognition.framework.learning.EvaluatorBasedCognitiveModuleSettings. */ public void testGetOutputConverter() { DefaultSemanticLabel out1 = new DefaultSemanticLabel("out1"); CogxelVectorConverter outputConverter = new CogxelVectorConverter( new SemanticLabel[]{out1}); EvaluatorBasedCognitiveModuleSettings<Vector, Vector> instance = new EvaluatorBasedCognitiveModuleSettings<Vector, Vector>(); assertNull(instance.getOutputConverter()); instance.setOutputConverter(outputConverter); assertSame(instance.getOutputConverter(), outputConverter); } /** * Test of setOutputConverter method, of class gov.sandia.cognition.framework.learning.EvaluatorBasedCognitiveModuleSettings. */ public void testSetOutputConverter() { DefaultSemanticLabel out1 = new DefaultSemanticLabel("out1"); CogxelVectorConverter outputConverter = new CogxelVectorConverter( new SemanticLabel[]{out1}); EvaluatorBasedCognitiveModuleSettings<Vector, Vector> instance = new EvaluatorBasedCognitiveModuleSettings<Vector, Vector>(); assertNull(instance.getOutputConverter()); instance.setOutputConverter(outputConverter); assertSame(instance.getOutputConverter(), outputConverter); instance.setOutputConverter(null); assertNull(instance.getOutputConverter()); } }