diff options
Diffstat (limited to 'src/batchtools/headless/src/test/java/com/galois/fiveui/HeadlessTest.java')
-rw-r--r-- | src/batchtools/headless/src/test/java/com/galois/fiveui/HeadlessTest.java | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/src/batchtools/headless/src/test/java/com/galois/fiveui/HeadlessTest.java b/src/batchtools/headless/src/test/java/com/galois/fiveui/HeadlessTest.java new file mode 100644 index 0000000..804d9f6 --- /dev/null +++ b/src/batchtools/headless/src/test/java/com/galois/fiveui/HeadlessTest.java @@ -0,0 +1,114 @@ +/** + * + */ +package com.galois.fiveui; + +import java.io.IOException; + +import junit.framework.Assert; + +import org.apache.log4j.BasicConfigurator; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.junit.BeforeClass; +import org.junit.Test; + +import com.google.common.collect.ImmutableList; + +/** + * @author bjones + * + */ +public class HeadlessTest { + private static final String RUN_DESCRIPTION_DIR = "src/test/resources/runDescriptions/"; + private static Logger logger = Logger.getLogger("com.galois.fiveui.HeadlessTest"); + + @BeforeClass + public static void beforeClass() { + BasicConfigurator.configure(); + Logger root = Logger.getRootLogger(); + root.setLevel(Level.ERROR); + logger.setLevel(Level.DEBUG); + logger.debug("running headless tests..."); + } + /** + * Test method for {@link com.galois.com.galois.fiveui.HeadlessRunDescription}, parses + * 'src/test/resources/runDescriptions/headlessSample0.json'. + * + * @throws IOException + */ + @Test + public final void testDeserialize_headlessSample0() throws IOException { + + String jsonFileName = RUN_DESCRIPTION_DIR + "headlessSample0.json"; + String ruleSetLoc = + RUN_DESCRIPTION_DIR + "../ruleSets/emptyRuleSet.json"; + RuleSet ruleSetOracle = RuleSet.parseFile(ruleSetLoc); + HeadlessAtom headlessAtomOracle = + new HeadlessAtom("http://testhost", ruleSetOracle); + HeadlessRunDescription oracle = + new HeadlessRunDescription(ImmutableList.of(headlessAtomOracle)); + + HeadlessRunDescription actual = HeadlessRunDescription.parse(jsonFileName); + assertObjEqual("Object deserialized incorrectly.", oracle, actual); + } + + /** + * Test method for {@link com.galois.com.galois.fiveui.HeadlessRunDescription}, parses + * 'src/test/resources/runDescriptions/headlessSample1.json'. + * + * @throws IOException + */ + @Test + public final void testDeserialize_headlessSample1() throws IOException { + + String jsonFileName = RUN_DESCRIPTION_DIR + "headlessSample1.json"; + String ruleSetLoc = RUN_DESCRIPTION_DIR + + "../../../../../rsTester/src/test/resources/ruleSets/headingGuidelines.json"; + RuleSet ruleSetOracle = RuleSet.parseFile(ruleSetLoc); + HeadlessAtom headlessAtomOracle = + new HeadlessAtom("http://testhost", ruleSetOracle); + HeadlessRunDescription oracle = + new HeadlessRunDescription(ImmutableList.of(headlessAtomOracle)); + + HeadlessRunDescription actual = HeadlessRunDescription.parse(jsonFileName); + assertObjEqual("Object deserialized incorrectly.", oracle, actual); + } + + /** + * Test method for {@link com.galois.com.galois.fiveui.HeadlessRunDescription}, parses + * 'src/test/resources/runDescriptions/headlessSample2.json'. + * + * @throws IOException + */ + @Test + public final void testDeserialize_headlessSample2() throws IOException { + + String jsonFileName = RUN_DESCRIPTION_DIR + "headlessSample2.json"; + // manually build first HeadlessAtom + String ruleSetLoc1 = + RUN_DESCRIPTION_DIR + "../ruleSets/emptyRuleSet.json"; + RuleSet ruleSetOracle1 = RuleSet.parseFile(ruleSetLoc1); + HeadlessAtom headlessAtomOracle1 = + new HeadlessAtom("http://testhost1", ruleSetOracle1); + // manually build second HeadlessAtom + String ruleSetLoc2 = RUN_DESCRIPTION_DIR + + "../../../../../rsTester/src/test/resources/ruleSets/headingGuidelines.json"; + + RuleSet ruleSetOracle2 = RuleSet.parseFile(ruleSetLoc2); + HeadlessAtom headlessAtomOracle2 = + new HeadlessAtom("http://testhost2", ruleSetOracle2); + + HeadlessRunDescription oracle = + new HeadlessRunDescription(ImmutableList.of(headlessAtomOracle1, + headlessAtomOracle2)); + + HeadlessRunDescription actual = HeadlessRunDescription.parse(jsonFileName); + assertObjEqual("Object deserialized incorrectly.", oracle, actual); + } + + private void assertObjEqual(String msg, Object oracle, Object actual) { + Assert.assertTrue(msg + ";\n expected: "+oracle+"\n actual: "+actual, + oracle.equals(actual)); + } +} |