Core Classes
v1.0
- groupID
- at.tugraz.ist.ase.hiconfit
- artifactID
- ca-cdr-core
ca-cdr-core provides core classes for representing user requirements and solutions of a configurator as well as for managing test cases and test suites.
TBD
Table of Contents
What ca-cdr-core provides
TestCase
In Knowledge Base Enginering, test cases are used to induce conflicts in the knowledge base. It’s worth noting that Test Case Driven Algorithms [4] are also made available by ca-cdr. Thus, ca-cdr-core offers base classes for managing test cases and test suites. We refer to [4] in References for more details related to knowledge base test cases.
A test case is a conjunction of assignments, e.g., A=a1 & B=b3 & C=c2 & …
, where A=a1
is an assignment, ‘&’ represents an AND operator. To feature models, test cases are simpler, e.g., A & ~B & C
, where A
represents A=true
and ~B
represents B=false
.
A test suite is a set of test cases.
ca-cdr-core provides the following classes:
ITestCase
– an interface that defines which functionalities every type of test case needs to support.TestCase
– a test case that manages a list of assignments, a corresponding list of Choco constraints, and maybe a corresponding list of negative Choco constraints.TestSuite
– manages a list ofITestCase
.FMTestCaseBuilder
– can translate a feature model test case into aTestCase
object. To support other test case types (such as Renault test case -Var1 = S64 & Var3 = M9
), you need to implement the interfaceITestCaseBuildable
.
How-tos
Using TestCase
and TestSuite
classes
Examples
TBD