package edu.cmu.minorthird.classify; import junit.framework.Test; import junit.framework.TestSuite; import org.apache.log4j.Logger; /** * * This class is responsible for... * * @author ksteppe */ public class MutableInstanceTest extends InstanceTestBase { Logger log = Logger.getLogger(this.getClass()); private MutableInstance mutInstance; /** * Standard test class constructior for MutableInstanceTest * @param name Name of the test */ public MutableInstanceTest(String name) { super(name); } /** * Convinence constructior for MutableInstanceTest */ public MutableInstanceTest() { super("MutableInstanceTest"); } /** * setUp to run before each test */ protected void setUp() { Logger.getRootLogger().removeAllAppenders(); org.apache.log4j.BasicConfigurator.configure(); //TODO add initializations if needed mutInstance = new MutableInstance("source for test"); instance = mutInstance; } /** * clean up to run after each test */ protected void tearDown() { //TODO clean up resources if needed } public void testConstructor() { instance = new MutableInstance("test source", "sub pop"); assertEquals("test source", instance.getSource()); assertEquals("sub pop", instance.getSubpopulationId()); } public void testBinaryFeatures() { mutInstance.addBinary(hello); mutInstance.addBinary(world); mutInstance.addBinary(new Feature("token eq hello")); mutInstance.addBinary(new Feature("token eq world")); mutInstance.addBinary(new Feature("token eq purple")); mutInstance.addBinary(new Feature("token eq croutons")); mutInstance.addBinary(new Feature("token eq zzfencepost")); super.testBinaryFeatures(); } public void testNumericFeatures() { mutInstance.addNumeric(hello, 1); mutInstance.addNumeric(world, 5); mutInstance.addNumeric(new Feature("token eq hello"), 1); mutInstance.addNumeric(new Feature("token eq world"), 10); mutInstance.addNumeric(new Feature("token eq purple"), 0.5); mutInstance.addNumeric(new Feature("token eq max"), Double.MAX_VALUE); mutInstance.addNumeric(new Feature("token eq nan"), Double.NaN); super.testNumericFeatures(); } public void testInstanceComparison() { super.testMixedFeatures(); // MutableInstance old = mutInstance; setUp(); addNewFeatures(); // super.testBinaryFeatures(); // super.testNumericFeatures(); //check that the new and old are equivalent } private void addNewFeatures() { } /** * Creates a TestSuite from all testXXX methods * @return TestSuite */ public static Test suite() { return new TestSuite(MutableInstanceTest.class); } /** * Run the full suite of tests with text output * @param args - unused */ public static void main(String args[]) { junit.textui.TestRunner.run(suite()); } public MutableInstance getMutInstance() { return mutInstance; } }