]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/test/BasicTestDefinition.java
Runtime improvements
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.simple / src / main / java / org / argeo / slc / core / test / BasicTestDefinition.java
1 package org.argeo.slc.core.test;
2
3 import org.argeo.slc.SlcException;
4 import org.argeo.slc.core.structure.tree.TreeSRelatedHelper;
5 import org.argeo.slc.core.test.context.ContextUtils;
6 import org.argeo.slc.test.IncompatibleTestDataException;
7 import org.argeo.slc.test.TestData;
8 import org.argeo.slc.test.TestDefinition;
9 import org.argeo.slc.test.TestResult;
10 import org.argeo.slc.test.TestRun;
11 import org.argeo.slc.test.TestStatus;
12 import org.argeo.slc.test.context.ContextAware;
13
14 /** Understands basic test data and context aware test data. */
15 public class BasicTestDefinition extends TreeSRelatedHelper implements
16 TestDefinition {
17
18 public void execute(TestRun testRun) {
19 if (testRun.<TestData> getTestData() instanceof BasicTestData) {
20 BasicTestData testData = testRun.getTestData();
21 TestResult result = testRun.getTestResult();
22
23 try {
24 if (testData.getExpected().equals(testData.getReached())) {
25 result.addResultPart(new SimpleResultPart(
26 TestStatus.PASSED, "Reached and expected equals"));
27 } else {
28 result.addResultPart(new SimpleResultPart(
29 TestStatus.FAILED, "Expected "
30 + testData.getExpected() + " but reached "
31 + testData.getReached()));
32 }
33 } catch (Exception e) {
34 result.addResultPart(new SimpleResultPart(TestStatus.ERROR,
35 "Could not compare", e));
36 }
37 } else if (testRun.<TestData> getTestData() instanceof ContextAware) {
38 TestData testData = testRun.getTestData();
39 ContextUtils.compareReachedExpected((ContextAware) testData,
40 testRun.getTestResult(), this);
41 } else {
42 throw new IncompatibleTestDataException(testRun);
43 }
44 }
45 }