/*
* File: CogxelDoubleConverterTest.java
* Authors: Justin Basilico
* Company: Sandia National Laboratories
* Project: Cognitive Foundry
*
* Copyright June 27, 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.converter;
import gov.sandia.cognition.framework.learning.converter.CogxelDoubleConverter;
import gov.sandia.cognition.framework.DefaultSemanticLabel;
import gov.sandia.cognition.framework.CogxelFactory;
import gov.sandia.cognition.framework.CogxelState;
import gov.sandia.cognition.framework.DefaultCogxel;
import gov.sandia.cognition.framework.DefaultCogxelFactory;
import gov.sandia.cognition.framework.DefaultSemanticIdentifierMap;
import gov.sandia.cognition.framework.SemanticIdentifierMap;
import gov.sandia.cognition.framework.SemanticLabel;
import gov.sandia.cognition.framework.lite.CogxelStateLite;
import junit.framework.TestCase;
/**
* This class implements JUnit tests for the following classes:
* @author Justin Basilico
* @since 2.0
*/
public class CogxelDoubleConverterTest
extends TestCase
{
public CogxelDoubleConverterTest(
String testName)
{
super(testName);
}
/**
* Test of clone method, of class gov.sandia.cognition.framework.learning.CogxelDoubleConverter.
*/
public void testClone()
{
CogxelDoubleConverter instance = new CogxelDoubleConverter();
CogxelDoubleConverter clone = instance.clone();
assertNotSame(instance, clone);
assertEquals(instance.getLabel(), clone.getLabel());
assertSame(instance.getSemanticIdentifierMap(), clone.getSemanticIdentifierMap());
assertSame(instance.getCogxelFactory(), clone.getCogxelFactory());
instance = new CogxelDoubleConverter(new DefaultSemanticLabel("a"),
new DefaultSemanticIdentifierMap());
clone = instance.clone();
assertNotSame(instance, clone);
assertEquals(instance.getLabel(), clone.getLabel());
assertSame(instance.getSemanticIdentifierMap(), clone.getSemanticIdentifierMap());
assertSame(instance.getCogxelFactory(), clone.getCogxelFactory());
}
/**
* Test of fromCogxels method, of class gov.sandia.cognition.framework.learning.CogxelDoubleConverter.
*/
public void testFromCogxels()
{
CogxelDoubleConverter instance = new CogxelDoubleConverter();
SemanticLabel label = new DefaultSemanticLabel("a");
instance.setLabel(label);
SemanticIdentifierMap map = new DefaultSemanticIdentifierMap();
instance.setSemanticIdentifierMap(map);
CogxelState cogxels = new CogxelStateLite();
Double d = instance.fromCogxels(cogxels);
assertEquals(0.0, d);
cogxels.addCogxel(new DefaultCogxel(map.findIdentifier(label), 4.7));
d = instance.fromCogxels(cogxels);
assertEquals(4.7, d);
}
/**
* Test of toCogxels method, of class gov.sandia.cognition.framework.learning.CogxelDoubleConverter.
*/
public void testToCogxels()
{
CogxelDoubleConverter instance = new CogxelDoubleConverter();
SemanticLabel label = new DefaultSemanticLabel("a");
instance.setLabel(label);
SemanticIdentifierMap map = new DefaultSemanticIdentifierMap();
instance.setSemanticIdentifierMap(map);
CogxelState cogxels = new CogxelStateLite();
instance.toCogxels(4.7, cogxels);
assertEquals(4.7, cogxels.getCogxelActivation(map.findIdentifier(label)));
assertEquals(1, cogxels.getNumCogxels());
instance.toCogxels(0.0, cogxels);
assertEquals(0.0, cogxels.getCogxelActivation(map.findIdentifier(label)));
}
/**
* Test of getSemanticIdentifierMap method, of class gov.sandia.cognition.framework.learning.CogxelDoubleConverter.
*/
public void testGetSemanticIdentifierMap()
{
testSetSemanticIdentifierMap();
}
/**
* Test of setSemanticIdentifierMap method, of class gov.sandia.cognition.framework.learning.CogxelDoubleConverter.
*/
public void testSetSemanticIdentifierMap()
{
CogxelDoubleConverter instance = new CogxelDoubleConverter();
assertNull(instance.getSemanticIdentifierMap());
SemanticIdentifierMap map = new DefaultSemanticIdentifierMap();
instance.setSemanticIdentifierMap(map);
assertSame(instance.getSemanticIdentifierMap(), map);
instance.setSemanticIdentifierMap(null);
assertNull(instance.getSemanticIdentifierMap());
}
/**
* Test of getLabel method, of class gov.sandia.cognition.framework.learning.CogxelDoubleConverter.
*/
public void testGetLabel()
{
testSetLabel();
}
/**
* Test of setLabel method, of class gov.sandia.cognition.framework.learning.CogxelDoubleConverter.
*/
public void testSetLabel()
{
CogxelDoubleConverter instance = new CogxelDoubleConverter();
assertNull(instance.getLabel());
SemanticLabel label = new DefaultSemanticLabel("a");
instance.setLabel(label);
assertSame(label, instance.getLabel());
instance.setLabel(null);
assertNull(instance.getLabel());
}
/**
* Test of getCogxelFactory method, of class gov.sandia.cognition.framework.learning.CogxelDoubleConverter.
*/
public void testGetCogxelFactory()
{
testSetCogxelFactory();
}
/**
* Test of setCogxelFactory method, of class gov.sandia.cognition.framework.learning.CogxelDoubleConverter.
*/
public void testSetCogxelFactory()
{
CogxelDoubleConverter instance = new CogxelDoubleConverter();
assertSame(instance.getCogxelFactory(), DefaultCogxelFactory.INSTANCE);
CogxelFactory factory = new DefaultCogxelFactory();
instance.setCogxelFactory(factory);
assertSame(instance.getCogxelFactory(), factory);
instance.setCogxelFactory(null);
assertNull(instance.getCogxelFactory());
}
/**
* Test of equals method, of class gov.sandia.cognition.framework.learning.CogxelDoubleConverter.
*/
public void testEquals()
{
CogxelDoubleConverter instance1 = new CogxelDoubleConverter();
assertEquals(instance1, instance1);
assertEquals(instance1, instance1.clone());
CogxelDoubleConverter instance2 = new CogxelDoubleConverter(
new DefaultSemanticLabel("a"));
assertEquals(instance2, instance2);
assertEquals(instance2, instance2.clone());
assertFalse(instance1.equals(instance2));
assertFalse(instance2.equals(instance1));
assertFalse(instance1.equals(null));
assertFalse(instance2.equals(null));
assertFalse(instance1.equals("a"));
}
}