1 package org
.argeo
.slc
.core
.test
;
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
;
14 /** Understands basic test data and context aware test data. */
15 public class BasicTestDefinition
extends TreeSRelatedHelper
implements
18 public void execute(TestRun testRun
) {
19 if (testRun
.<TestData
> getTestData() instanceof BasicTestData
) {
20 BasicTestData testData
= testRun
.getTestData();
21 TestResult result
= testRun
.getTestResult();
24 throw new SlcException("No test result defined.");
27 if (testData
.getExpected().equals(testData
.getReached())) {
28 result
.addResultPart(new SimpleResultPart(
29 TestStatus
.PASSED
, "Reached and expected equals"));
31 result
.addResultPart(new SimpleResultPart(
32 TestStatus
.FAILED
, "Expected "
33 + testData
.getExpected() + " but reached "
34 + testData
.getReached()));
36 } catch (Exception e
) {
37 result
.addResultPart(new SimpleResultPart(TestStatus
.ERROR
,
38 "Could not compare", e
));
40 } else if (testRun
.<TestData
> getTestData() instanceof ContextAware
) {
41 TestData testData
= testRun
.getTestData();
42 ContextUtils
.compareReachedExpected((ContextAware
) testData
,
43 testRun
.getTestResult(), this);
45 throw new IncompatibleTestDataException(testRun
);