diff options
Diffstat (limited to 'src/jcgp/backend/tests/OutputTests.java')
-rw-r--r-- | src/jcgp/backend/tests/OutputTests.java | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/src/jcgp/backend/tests/OutputTests.java b/src/jcgp/backend/tests/OutputTests.java new file mode 100644 index 0000000..7ff8a4a --- /dev/null +++ b/src/jcgp/backend/tests/OutputTests.java @@ -0,0 +1,93 @@ +package jcgp.backend.tests; + +import static org.junit.Assert.assertTrue; +import jcgp.JCGP.Resources; +import jcgp.backend.population.Chromosome; +import jcgp.backend.population.Connection; +import jcgp.backend.population.Output; + +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * + * Tests which cover the behaviour specified for an output. + * + * - An output contains a single source Connection, which can be set and got. + * - It should return the value of its source connection. + * - It must be addressable by an index set upon construction only. + * + * + * @author Eduardo Pedroni + * + */ +public class OutputTests { + + private Output output; + private static Chromosome chromosome; + private static Resources resources; + // these are the test values + private final int outputValue = 10; + private final int outputIndex = 2; + + @BeforeClass + public static void setUpBeforeClass() { + resources = new Resources(); + chromosome = new Chromosome(resources); + } + + @Before + public void setUp() throws Exception { + output = new Output(chromosome, outputIndex); + } + + @Test + public void evaluationsTest() { + // set source connection, check that the appropriate value is returned + output.setConnection(0, new Connection() { + + @Override + public Object getValue() { + // test value + return outputValue; + } + + @Override + public String getDescription() { + // blank + return null; + } + }); + + assertTrue("Incorrect evaluation.", ((Integer) output.calculate()) == outputValue); + } + + @Test + public void connectionTest() { + // set a new connection, check that it is correctly returned + Connection newConn = new Connection() { + + @Override + public Object getValue() { + // blank + return 0; + } + + @Override + public String getDescription() { + // blank + return null; + } + }; + output.setConnection(0, newConn); + + assertTrue("Incorrect connection returned.", output.getSource() == newConn); + } + + @Test + public void indexTest() { + // check that the index returned is the one passed to the constructor + assertTrue("Incorrect index returned.", output.getIndex() == outputIndex); + } +} |