/* * File: AbstractAnytimeAlgorithmTest.java * Authors: Kevin R. Dixon * Company: Sandia National Laboratories * Project: Cognitive Foundry * * Copyright Apr 17, 2008, 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.algorithm; import junit.framework.TestCase; /** * JUnit tests for class AbstractAnytimeAlgorithmTest * @author Kevin R. Dixon */ public class AbstractAnytimeAlgorithmTest extends TestCase { /** * Entry point for JUnit tests for class AbstractAnytimeAlgorithmTest * @param testName name of this test */ public AbstractAnytimeAlgorithmTest( String testName) { super(testName); } MyAbstractAnytimeAlgorithm createInstance() { return new MyAbstractAnytimeAlgorithm(); } /** * */ public static class MyAbstractAnytimeAlgorithm extends AbstractAnytimeAlgorithm<Double> { public Double result; public boolean stopped; public static final int DEFAULT_MAX_ITERATIONS = 100; public MyAbstractAnytimeAlgorithm() { super( DEFAULT_MAX_ITERATIONS ); this.result = null; this.stopped = false; } public Double getResult() { return this.result; } public void stop() { this.stopped = true; } } /** * Test of isResultValid method, of class AbstractAnytimeAlgorithm. */ public void testIsResultValid() { System.out.println( "isResultValid" ); MyAbstractAnytimeAlgorithm instance = this.createInstance(); assertFalse( instance.isResultValid() ); instance.result = new Double(1.0); assertTrue( instance.isResultValid() ); } /** * Test of getMaxIterations method, of class AbstractAnytimeAlgorithm. */ public void testGetMaxIterations() { System.out.println( "getMaxIterations" ); MyAbstractAnytimeAlgorithm instance = this.createInstance(); assertEquals( MyAbstractAnytimeAlgorithm.DEFAULT_MAX_ITERATIONS, instance.getMaxIterations() ); } /** * Test of setMaxIterations method, of class AbstractAnytimeAlgorithm. */ public void testSetMaxIterations() { System.out.println( "setMaxIterations" ); MyAbstractAnytimeAlgorithm instance = this.createInstance(); assertEquals( MyAbstractAnytimeAlgorithm.DEFAULT_MAX_ITERATIONS, instance.getMaxIterations() ); int maxIterations = instance.getMaxIterations() + 1; instance.setMaxIterations(maxIterations); assertEquals( maxIterations, instance.getMaxIterations() ); try { instance.setMaxIterations(0); fail( "Maxiterations must be > 0" ); } catch (Exception e) { System.out.println( "Good: " + e ); } } public void testIteration() { System.out.println( "Iteration" ); MyAbstractAnytimeAlgorithm instance = this.createInstance(); assertEquals( 0, instance.getIteration() ); instance.setIteration(1); assertEquals( 1, instance.getIteration() ); } }