1 package org
.argeo
.slc
.runtime
.test
;
3 import org
.argeo
.api
.slc
.SlcException
;
4 import org
.argeo
.api
.slc
.test
.IncompatibleTestDataException
;
5 import org
.argeo
.api
.slc
.test
.TestData
;
6 import org
.argeo
.api
.slc
.test
.TestDefinition
;
7 import org
.argeo
.api
.slc
.test
.TestResult
;
8 import org
.argeo
.api
.slc
.test
.TestRun
;
9 import org
.argeo
.api
.slc
.test
.TestStatus
;
10 import org
.argeo
.api
.slc
.test
.context
.ContextAware
;
12 /** Understands basic test data and context aware test data. */
13 public class BasicTestDefinition
implements TestDefinition
{
15 public void execute(TestRun testRun
) {
16 if (testRun
.<TestData
> getTestData() instanceof BasicTestData
) {
17 BasicTestData testData
= testRun
.getTestData();
18 TestResult result
= testRun
.getTestResult();
21 throw new SlcException("No test result defined.");
24 if (testData
.getExpected().equals(testData
.getReached())) {
25 result
.addResultPart(new SimpleResultPart(
26 TestStatus
.PASSED
, "Reached and expected equals"));
28 result
.addResultPart(new SimpleResultPart(
29 TestStatus
.FAILED
, "Expected "
30 + testData
.getExpected() + " but reached "
31 + testData
.getReached()));
33 } catch (Exception e
) {
34 result
.addResultPart(new SimpleResultPart(TestStatus
.ERROR
,
35 "Could not compare", e
));
37 } else if (testRun
.<TestData
> getTestData() instanceof ContextAware
) {
38 TestData testData
= testRun
.getTestData();
39 ContextUtils
.compareReachedExpected((ContextAware
) testData
,
40 testRun
.getTestResult());
42 throw new IncompatibleTestDataException(testRun
);