This page (revision-18) was last changed on 01-Feb-2013 15:57 by Tim Baier-Loewenstein

This page was created on 28-Jan-2013 13:38 by Albrecht Striffler

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
18 01-Feb-2013 15:57 3 KB Tim Baier-Loewenstein to previous
17 01-Feb-2013 15:27 3 KB Tim Baier-Loewenstein to previous | to last
16 28-Jan-2013 15:59 3 KB Albrecht Striffler to previous | to last
15 28-Jan-2013 15:53 3 KB Albrecht Striffler to previous | to last
14 28-Jan-2013 15:24 3 KB Albrecht Striffler to previous | to last
13 28-Jan-2013 15:14 3 KB Albrecht Striffler to previous | to last
12 28-Jan-2013 15:12 3 KB Albrecht Striffler to previous | to last
11 28-Jan-2013 15:10 3 KB Albrecht Striffler to previous | to last
10 28-Jan-2013 15:06 3 KB Albrecht Striffler to previous | to last
9 28-Jan-2013 15:06 3 KB Albrecht Striffler to previous | to last
8 28-Jan-2013 14:51 3 KB Albrecht Striffler to previous | to last
7 28-Jan-2013 14:49 3 KB Albrecht Striffler to previous | to last
6 28-Jan-2013 14:48 3 KB Albrecht Striffler to previous | to last
5 28-Jan-2013 14:39 2 KB Albrecht Striffler to previous | to last
4 28-Jan-2013 14:37 2 KB Albrecht Striffler to previous | to last
3 28-Jan-2013 14:07 994 bytes Albrecht Striffler to previous | to last
2 28-Jan-2013 13:48 432 bytes Albrecht Striffler to previous | to last
1 28-Jan-2013 13:38 64 bytes Albrecht Striffler to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 3 changed one line
!!Introduction
!Introduction
At line 5 changed 2 lines
TestCases or SequentialTestCases in particular allow to verify that derived solution states and abstract questions match the expectations defined the respective TestCase.\\
This article describes how to create a SequentialTestCase in your Java workspace. If you want to know how to use and define a TestCase in KnowWE, you can learn more on the following wiki article: [Doc TestCase]
TestCases or SequentialTestCases in particular allow to verify that derived solutions states and abstract questions match the expectations defined the respective TestCase.\\
This article describes how to create and a SequentialTestCase in your Java workspace. If you want to know how to use and define a TestCase in KnowWE, you can learn more on the following wiki article: [Doc TestCase]
At line 8 changed one line
!!Getting started
!Getting started
At line 22 changed one line
!!Adding RatedTestCases to SequentialTestCases
!Adding RatedTestCases to SequentialTestCases
At line 27 changed 3 lines
# __Finding__: Contains a Question and a Value that will be set in the testing session.
# __ExpectedFinding__: Contains a Question and a Value that will be checked after the findings are set in the testing session.
# __RatedSolution__: Contains a Solution and a Rating or State for this Solution to be checked after the findings are set in the testing session.
# __Finding__s: Contains a Question and a Value that will be set in the testing session
# __ExpectedFinding__s: Contains a Question and a Value that will be check after the findings are set in the testing session
# __RatedSolution__s: Contains a Solution and a Rating or State for this Solution to be checked after the findings are set in the testing session
At line 31 added 2 lines
Example code:
At line 35 changed one line
rtc.add(new Finding(question, value));
rtc.addFinding(new Finding(question, value));
At line 37 changed one line
rtc.addExpected(new RatedSolution(solution, rating));
rtc.addDerived(new RatedSolution(solution, rating));
At line 41 changed one line
The variables question and solution are the well known objects that can be retrieved from your knowledge base:
The variables question and solution are the well known objects that can be retrieved from your knowledge base ({{knowledgeBase.getManager().search(name)}}). As the value a Finding expects a object of the type QuestionValue. In most cases this will be a ChoiceValue or a NumValue which can be instantiated with a simple String or double.
At line 43 removed 4 lines
%%prettify
{{{
knowledgeBase.getManager().search(name)
}}}
At line 48 changed 53 lines
As the value a Finding expects an object of the type QuestionValue. In most cases this will be a ChoiceValue or a NumValue, which can be instantiated with a simple String or double.
%%prettify
{{{
ChoiceValue value = new ChoiceValue("Yes");
NumValue nValue = new NumValue(1.5);
}}}
/%
The persistence of SequentialTestCases allows to write multiple SequentialTestCases into one repository inside one XML file. Therefore the persistence methods expect and return lists of SequentialTestCases.\\
The boolean needed in the method to export SequentialTestCases should be set to {{false}}.
%%prettify
{{{
TestPersistence.getInstance().writeCases(outputSteam, stcs, false)
}}}
/%
Export SequentialTestCases with the following code:
%%prettify
{{{
List<SequentialTestCase> stcs = TestPersistence.getInstance().loadCases(inputStream, knowledgebase);
}}}
/%Import SequentialTestCases with the following code:
SequentialTestCases have an easy to use XML persistence.
!!Importing and exporting SequentialTestCase from and to XML
%%prettify
{{{
StateRating stateRating = new StateRating("ESTABLISHED");
}}}
/%If you just want to more generally check if a solution is for example established, you can instantiate a StateRating which either expects a String with the verbalization of one of the possible States for d3web solutions ({{EXCLUDED, UNCLEAR, SUGGESTED or ESTABLISHED}}) or an actual {{de.d3web.core.knowledge.terminology.Rating}}.
%%prettify
{{{
ScoreRating scoreRating = new ScoreRating(10);
}}}
/%If you want to check a very specific score for the derived solution you can just instantiate ScoreRating with a double or an actual {{de.d3web.scoring.Score}}\\
RatedSolutions expect an object with the interface {{de.d3web.empiricaltesting.Rating}}. There are two classes implementing this Interface:
# ScoreRating
# StateRating