diff options
Diffstat (limited to 'src/cz/crcs/ectester/common/test/TestSuite.java')
| -rw-r--r-- | src/cz/crcs/ectester/common/test/TestSuite.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/cz/crcs/ectester/common/test/TestSuite.java b/src/cz/crcs/ectester/common/test/TestSuite.java new file mode 100644 index 0000000..f4f30ee --- /dev/null +++ b/src/cz/crcs/ectester/common/test/TestSuite.java @@ -0,0 +1,56 @@ +package cz.crcs.ectester.common.test; + +import cz.crcs.ectester.common.output.TestWriter; +import cz.crcs.ectester.data.EC_Store; + +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class TestSuite { + protected String name; + protected String description; + protected TestWriter writer; + + public TestSuite(TestWriter writer, String name, String description) { + this.writer = writer; + this.name = name; + this.description = description; + } + + public void run() throws TestException { + writer.begin(this); + try { + runTests(); + } catch (Exception e) { + throw new TestException(e); + } + writer.end(); + } + + protected Test runTest(Test t) throws TestException { + t.run(); + return t; + } + + protected Test doTest(Test t) throws TestException { + t.run(); + writer.outputTest(t); + return t; + } + + protected abstract void runTests() throws Exception; + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + +} |
