aboutsummaryrefslogtreecommitdiff
path: root/src/batchtools/headless/src/test/java/com/galois/fiveui/HeadlessTest.java
diff options
context:
space:
mode:
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.java114
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));
+ }
+}