]> 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
fd07cbe58ab75b4a92cde94b4df1797af6c61577
[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.TestData;
7 import org.argeo.slc.test.TestDefinition;
8 import org.argeo.slc.test.TestResult;
9 import org.argeo.slc.test.TestRun;
10 import org.argeo.slc.test.TestStatus;
11 import org.argeo.slc.test.context.ContextAware;
12
13 /** Understands basic test data and context aware test data. */
14 public class BasicTestDefinition extends TreeSRelatedHelper implements
15 TestDefinition {
16
17 public void execute(TestRun testRun) {
18 if (testRun.<TestData> getTestData() instanceof BasicTestData) {
19 BasicTestData testData = testRun.getTestData();
20 TestResult result = testRun.getTestResult();
21
22 try {
23 if (testData.getExpected().equals(testData.getReached())) {
24 result.addResultPart(new SimpleResultPart(
25 TestStatus.PASSED, "Reached and expected equals"));
26 } else {
27 result.addResultPart(new SimpleResultPart(
28 TestStatus.FAILED, "Expected "
29 + testData.getExpected() + " but reched "
30 + testData.getReached()));
31 }
32 } catch (Exception e) {
33 result.addResultPart(new SimpleResultPart(TestStatus.ERROR,
34 "Could not compare", e));
35 }
36 } else if (testRun.<TestData> getTestData() instanceof ContextAware) {
37 TestData testData = testRun.getTestData();
38 ContextUtils.compareReachedExpected((ContextAware) testData,
39 testRun.getTestResult(), this);
40 } else {
41 throw new SlcException("No test data defined.");
42 }
43 }
44 }