aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/common
diff options
context:
space:
mode:
authorJ08nY2017-12-03 20:59:41 +0100
committerJ08nY2017-12-03 20:59:41 +0100
commitda09715d9ec955b4b139b45a1b2c5270ca0ebf2d (patch)
tree2f4e711668e406f66d524e50ec4c59828e0d0d39 /src/cz/crcs/ectester/common
parentda2f36d4d313dc4cc736d8789700d78e052d1fc8 (diff)
downloadECTester-da09715d9ec955b4b139b45a1b2c5270ca0ebf2d.tar.gz
ECTester-da09715d9ec955b4b139b45a1b2c5270ca0ebf2d.tar.zst
ECTester-da09715d9ec955b4b139b45a1b2c5270ca0ebf2d.zip
Introduce BaseTestable and Testable Metadata.
Diffstat (limited to 'src/cz/crcs/ectester/common')
-rw-r--r--src/cz/crcs/ectester/common/output/TestWriter.java15
-rw-r--r--src/cz/crcs/ectester/common/output/TestableWriter.java39
-rw-r--r--src/cz/crcs/ectester/common/test/BaseTestable.java35
-rw-r--r--src/cz/crcs/ectester/common/test/Test.java18
-rw-r--r--src/cz/crcs/ectester/common/test/Testable.java23
5 files changed, 127 insertions, 3 deletions
diff --git a/src/cz/crcs/ectester/common/output/TestWriter.java b/src/cz/crcs/ectester/common/output/TestWriter.java
new file mode 100644
index 0000000..0f3c4e6
--- /dev/null
+++ b/src/cz/crcs/ectester/common/output/TestWriter.java
@@ -0,0 +1,15 @@
+package cz.crcs.ectester.common.output;
+
+import cz.crcs.ectester.common.test.Test;
+import cz.crcs.ectester.reader.test.TestSuite;
+
+/**
+ * @author Jan Jancar johny@neuromancer.sk
+ */
+public interface TestWriter {
+ void begin(TestSuite suite);
+
+ void outputTest(Test t);
+
+ void end();
+}
diff --git a/src/cz/crcs/ectester/common/output/TestableWriter.java b/src/cz/crcs/ectester/common/output/TestableWriter.java
new file mode 100644
index 0000000..2097254
--- /dev/null
+++ b/src/cz/crcs/ectester/common/output/TestableWriter.java
@@ -0,0 +1,39 @@
+package cz.crcs.ectester.common.output;
+
+import cz.crcs.ectester.common.test.BaseTestable;
+import cz.crcs.ectester.common.test.Testable;
+
+import java.io.OutputStream;
+import java.io.PrintStream;
+
+/**
+ * @author Jan Jancar johny@neuromancer.sk
+ */
+public class TestableWriter {
+ private PrintStream output;
+
+ public TestableWriter(PrintStream output) {
+ this.output = output;
+ }
+
+ public TestableWriter(OutputStream output) {
+ this(new PrintStream(output));
+ }
+
+
+ public String outputTestableMeta(BaseTestable t) {
+ return null;
+ }
+
+ public void writeTestableMeta(BaseTestable t) {
+
+ }
+
+ public String outputTestable(BaseTestable t) {
+ return null;
+ }
+
+ public void writeTestable(BaseTestable t) {
+
+ }
+}
diff --git a/src/cz/crcs/ectester/common/test/BaseTestable.java b/src/cz/crcs/ectester/common/test/BaseTestable.java
new file mode 100644
index 0000000..6a63b13
--- /dev/null
+++ b/src/cz/crcs/ectester/common/test/BaseTestable.java
@@ -0,0 +1,35 @@
+package cz.crcs.ectester.common.test;
+
+import java.util.Collections;
+import java.util.Map;
+
+/**
+ * @author Jan Jancar johny@neuromancer.sk
+ */
+public abstract class BaseTestable implements Testable {
+ protected boolean hasRun;
+ protected boolean ok;
+ protected boolean error;
+
+ protected Map<String, Object> meta;
+
+ @Override
+ public boolean hasRun() {
+ return hasRun;
+ }
+
+ @Override
+ public boolean ok() {
+ return ok;
+ }
+
+ @Override
+ public boolean error() {
+ return error;
+ }
+
+ @Override
+ public Map<String, Object> meta() {
+ return Collections.unmodifiableMap(meta);
+ }
+}
diff --git a/src/cz/crcs/ectester/common/test/Test.java b/src/cz/crcs/ectester/common/test/Test.java
index 750a410..5f55337 100644
--- a/src/cz/crcs/ectester/common/test/Test.java
+++ b/src/cz/crcs/ectester/common/test/Test.java
@@ -1,5 +1,8 @@
package cz.crcs.ectester.common.test;
+import java.util.Collections;
+import java.util.Map;
+
import static cz.crcs.ectester.common.test.Result.Value;
/**
@@ -8,8 +11,9 @@ import static cz.crcs.ectester.common.test.Result.Value;
* @author Jan Jancar johny@neuromancer.sk
*/
public abstract class Test implements Testable {
- protected boolean hasRun = false;
+ protected boolean hasRun;
protected Result result;
+ protected Map<String, Object> meta;
public Result getResult() {
if (!hasRun) {
@@ -39,6 +43,7 @@ public abstract class Test implements Testable {
return result.ok();
}
+ @Override
public boolean error() {
if (!hasRun) {
return false;
@@ -46,12 +51,19 @@ public abstract class Test implements Testable {
return result.compareTo(Value.ERROR);
}
- public abstract String getDescription();
-
+ @Override
public boolean hasRun() {
return hasRun;
}
+ @Override
+ public Map<String, Object> meta() {
+ return Collections.unmodifiableMap(meta);
+ }
+
+ public abstract String getDescription();
+
+ @Override
public abstract void run() throws TestException;
}
diff --git a/src/cz/crcs/ectester/common/test/Testable.java b/src/cz/crcs/ectester/common/test/Testable.java
index d05d31e..e8eb321 100644
--- a/src/cz/crcs/ectester/common/test/Testable.java
+++ b/src/cz/crcs/ectester/common/test/Testable.java
@@ -1,15 +1,38 @@
package cz.crcs.ectester.common.test;
+import java.util.Map;
+
/**
* @author Jan Jancar johny@neuromancer.sk
*/
public interface Testable {
+ /**
+ * @return Whether this testable was run.
+ */
boolean hasRun();
+ /**
+ * Run this Testable.
+ *
+ * @throws TestException
+ */
void run() throws TestException;
+ /**
+ * @return Whether this Testable was OK.
+ */
boolean ok();
+ /**
+ * @return Whether an error happened.
+ */
boolean error();
+
+ /**
+ * Get the metadata of this Testable.
+ *
+ * @return The metadata of the testable.
+ */
+ Map<String, Object> meta();
}