blob: e3e6e0f9168ac6f9d2b01cb948373a1b1d60e070 [file] [log] [blame]
<!-- This file was created using the HTML documentation generator. -->
<!-- Creation date: Sun Nov 01 10:46:37 GMT 2020-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocamo.core.model.testing/model/test_definition.ecore)</title>
<script type="text/javascript">
//<![CDATA[
// TOC script based on code taken from http://www.quirksmode.org/dom/toc.html
function makeTOC() {
var toc = document.createElement('div')
toc.id = "toc";
toc.innerHTML = "Table of Contents"
document.body.appendChild(toc);
var innertocDiv = createTOC()
toc.appendChild(innertocDiv);
}
function createTOC() {
var y = document.createElement('div');
y.id = 'innertoc';
//var a = y.appendChild(document.createElement('span'));
//a.onclick = showhideTOC;
//a.id = 'contentheader';
//a.innerHTML = 'Show Table of Contents';
var z = y.appendChild(document.createElement('div'));
//z.onclick = showhideTOC;
var toBeTOCced = getElementsByTagNames('h1,h2,h3');
if (toBeTOCced.length < 2) return false;
var hCount = 0;
var hhCount = 0;
var hhhCount = 0;
for (var i=0;i<toBeTOCced.length;i++) {
var tmp = document.createElement('a');
tmp.className = 'page';
var text;
var textPre;
if (toBeTOCced[i].nodeName == 'h2'){
tmp.className += ' indent';
textPre = hCount + "."+ ++hhCount + ". ";
}
else if (toBeTOCced[i].nodeName == 'h3'){
tmp.className += ' extraindent';
textPre = hCount + "."+ hhCount + "."+ ++hhhCount +". ";
}
else {
textPre = ++hCount + ". ";
hhCount = 0;
hhhCount = 0;
}
text = textPre + toBeTOCced[i].textContent;
toBeTOCced[i].innerHTML = textPre + toBeTOCced[i].innerHTML;
tmp.innerHTML = text;
z.appendChild(tmp);
var headerId = toBeTOCced[i].id || 'link' + i;
tmp.href = '#' + headerId;
toBeTOCced[i].id = headerId;
}
return y;
}
function getElementsByTagNames(list,obj) {
if (!obj) var obj = document;
var tagNames = list.split(',');
var resultArray = new Array();
for (var i=0;i<tagNames.length;i++) {
var tags = obj.getElementsByTagName(tagNames[i]);
for (var j=0;j<tags.length;j++) {
resultArray.push(tags[j]);
}
}
var testNode = resultArray[0];
if (!testNode) return [];
if (testNode.sourceIndex) {
resultArray.sort(function (a,b) {
return a.sourceIndex - b.sourceIndex;
});
}
else if (testNode.compareDocumentPosition) {
resultArray.sort(function (a,b) {
return 3 - (a.compareDocumentPosition(b) & 6);
});
}
return resultArray;
}
//]]>
</script>
<link rel="stylesheet" type="text/css" href="https://raw.github.com/necolas/normalize.css/master/normalize.css" />
<style>
#toc {
position: fixed;
right: 0;
top: 0;
background-color:#eee;
overflow: scroll;
border: 1px dashed;
}
#toc #innertoc {
display: none;
height: 500px;
} /* Hide the full TOC by default */
#toc:hover #innertoc{
display: block; /* Show it on hover */
}
td {
border: 1px solid;
}
.page{
display:table-row;
}
.indent {
text-indent:12pt;
}
.extraindent {
text-indent:14pt;
}
</style>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body onload="makeTOC();">
<h1 id="testdefinition"><a href="#testdefinition"><span class="packageName">test_definition</span> package</a></h1>
<p>This package describes how we describe tests and groups of tests.
Test Definitions are defined using given , when , and then clauses as used in the popular Gherkin language for defining tests according to the Behaviour Driven Developement (BDD) approach.
We can have multiple tests with different test data which are linked to the same test definition.
In order to group tests together, we parameterize the clauses of test definitions, this is also popular in BDD.
In order to provide well defined coverage, we constrain how the parameters can be set to a particular set of values, the way we constrain this is by defineing in constraints what the 'parent object' of a parameter is.
By having a contrained list of choices for a parameter, we can create a coverage grid of the set of possible combined choices for the parameters of a test definition.</p>
<div class="">EPackage properties:</div>
<div class="keyValue"><span class="label">Namespace Prefix: </span><span class="teletype">test_definition</span></div>
<div class="keyValue"><span class="label">Namespace URI: </span><span class="teletype">http://www.eclipse.org/efbt/test_definition</span></div>
<h2 id="testdefinitionClause"><a href="#testdefinitionClause"><a href="#testdefinitionClause">Clause</a></a></h2>
<p>A cluase, i.e a given when or then clause.</p>
<table>
<tr>
<th colspan="3"><div class="tableHeader">References</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionClause.params" class="teletype">params</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>
<div class="label">Cardinality: [0..*]</div>
<div class="label">Containment</div>
</td>
<td> <p>The parameters of a clause</p>
</td>
</tr><tr> <td><div id="testdefinitionClause.regulatoryTextLinks" class="teletype">regulatoryTextLinks</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#requirementstextTitledRequirementsSection">TitledRequirementsSection</a></span></div>
<div class="label">Cardinality: [0..*]</div>
</td>
<td> <p>The links to regulatory text for a clause</p>
</td>
</tr><tr> <td><div id="testdefinitionClause.text" class="teletype">text</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionClauseText">ClauseText</a></span></div>
<div class="label">Cardinality: [0..1]</div>
</td>
<td> <p>The text of a clause</p>
</td>
</tr></table>
<a href="#test_definition.Clause.ref"></a>
<h2 id="testdefinitionClauseText"><a href="#testdefinitionClauseText"><a href="#testdefinitionClauseText">ClauseText</a></a></h2>
<p>The text of a clause</p>
<table>
<tr>
<th colspan="3"><div class="tableHeader">Attributes</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionClauseText.name" class="teletype">name</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>
<div class="label">Cardinality: [0..1]</div>
<div class="label">Identifier</div>
</td> <td><p>The text of a clause, for now this should have no spaces making it a valid ID.</p>
</td>
</tr></table>
<a href="#test_definition.ClauseText.attr"></a>
<h2 id="testdefinitionCoverageGrid"><a href="#testdefinitionCoverageGrid"><a href="#testdefinitionCoverageGrid">CoverageGrid</a></a></h2>
<p>For a TestConstraint, we can imagine the complete set of combinations of possible parameters that meet the constraint, make up a coverage grid.</p>
<table>
<tr>
<th colspan="3"><div class="tableHeader">Attributes</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionCoverageGrid.name" class="teletype">name</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>
<div class="label">Cardinality: [0..1]</div>
<div class="label">Identifier</div>
</td> <td><p>The name of the coverage grid</p>
</td>
</tr></table>
<a href="#test_definition.CoverageGrid.attr"></a>
<table>
<tr>
<th colspan="3"><div class="tableHeader">References</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionCoverageGrid.coverageGridPoints" class="teletype">coverageGridPoints</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionCoverageGridPoint">CoverageGridPoint</a></span></div>
<div class="label">Cardinality: [0..1]</div>
<div class="label">Containment</div>
</td>
<td> <p>One Point of the Coverage grid</p>
</td>
</tr><tr> <td><div id="testdefinitionCoverageGrid.coverageTestSet" class="teletype">coverageTestSet</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestContraints">TestContraints</a></span></div>
<div class="label">Cardinality: [0..1]</div>
</td>
<td> <p>The Test Constraint</p>
</td>
</tr></table>
<a href="#test_definition.CoverageGrid.ref"></a>
<h2 id="testdefinitionCoverageGridPoint"><a href="#testdefinitionCoverageGridPoint"><a href="#testdefinitionCoverageGridPoint">CoverageGridPoint</a></a></h2>
<p>One Point of the Coverage grid</p>
<table>
<tr>
<th colspan="3"><div class="tableHeader">Attributes</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionCoverageGridPoint.count" class="teletype">count</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EInt</span></div>
<div class="label">Cardinality: [0..1]</div>
</td> <td></td>
</tr></table>
<a href="#test_definition.CoverageGridPoint.attr"></a>
<table>
<tr>
<th colspan="3"><div class="tableHeader">References</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionCoverageGridPoint.objects" class="teletype">objects</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EObject</span></div>
<div class="label">Cardinality: [0..*]</div>
</td>
<td> <p>The set of parameter values that identify that grid point.</p>
</td>
</tr></table>
<a href="#test_definition.CoverageGridPoint.ref"></a>
<h2 id="testdefinitionE2ETestDefinition"><a href="#testdefinitionE2ETestDefinition"><a href="#testdefinitionE2ETestDefinition">E2ETestDefinition</a></a></h2>
<p>A TestDefinition which represents and End To End Test</p>
<h4><b>Supertype:</b><a href="#testdefinitionTestDefinition">TestDefinition</a></h4><h2 id="testdefinitionGiven"><a href="#testdefinitionGiven"><a href="#testdefinitionGiven">Given</a></a></h2>
<p>A Given clause</p>
<h4><b>Supertype:</b><a href="#testdefinitionClause">Clause</a></h4><h2 id="testdefinitionParam"><a href="#testdefinitionParam"><a href="#testdefinitionParam">Param</a></a></h2>
<p>A Parameter of a clause, these should be set in the test definition</p>
<table>
<tr>
<th colspan="3"><div class="tableHeader">References</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionParam.param" class="teletype">param</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EObject</span></div>
<div class="label">Cardinality: [0..1]</div>
</td>
<td> <p>The object to which the parameter is set.</p>
</td>
</tr></table>
<a href="#test_definition.Param.ref"></a>
<h2 id="testdefinitionTestConstraintsModule"><a href="#testdefinitionTestConstraintsModule"><a href="#testdefinitionTestConstraintsModule">TestConstraintsModule</a></a></h2>
<p>A module containing a set of TestContraints</p>
<h4><b>Supertype:</b><a href="#modulemanagementModule">Module</a></h4><table>
<tr>
<th colspan="3"><div class="tableHeader">References</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionTestConstraintsModule.coverageTestSets" class="teletype">coverageTestSets</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestContraints">TestContraints</a></span></div>
<div class="label">Cardinality: [0..*]</div>
<div class="label">Containment</div>
</td>
<td> <p>The TestConstraints</p>
</td>
</tr></table>
<a href="#test_definition.TestConstraintsModule.ref"></a>
<h2 id="testdefinitionTestContraints"><a href="#testdefinitionTestContraints"><a href="#testdefinitionTestContraints">TestContraints</a></a></h2>
<p>a set of contraints upon the parameters described in an associated Test Template</p>
<table>
<tr>
<th colspan="3"><div class="tableHeader">Attributes</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionTestContraints.name" class="teletype">name</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>
<div class="label">Cardinality: [0..1]</div>
<div class="label">Identifier</div>
</td> <td><p>The name, and unique ID, of the constraints</p>
</td>
</tr></table>
<a href="#test_definition.TestContraints.attr"></a>
<table>
<tr>
<th colspan="3"><div class="tableHeader">References</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionTestContraints.givenParams" class="teletype">givenParams</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>
<div class="label">Cardinality: [0..*]</div>
<div class="label">Containment</div>
</td>
<td> <p>A set of constraints for the parameterization of the individual parameters of the given clause of a test template.
In a test definition which refers to this constraint, then for each parameter, only child elements of the objects chosen in this constraints information can be selected.
This constrant is technically enforce using scoping rules. </p>
</td>
</tr><tr> <td><div id="testdefinitionTestContraints.template" class="teletype">template</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestTemplate">TestTemplate</a></span></div>
<div class="label">Cardinality: [0..1]</div>
</td>
<td> <p>The associated Test Template</p>
</td>
</tr><tr> <td><div id="testdefinitionTestContraints.thenParams" class="teletype">thenParams</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>
<div class="label">Cardinality: [0..*]</div>
<div class="label">Containment</div>
</td>
<td> <p>A set of constraints for the parameterization of the individual parameters of the then clause of a test template.
In a test definition which refers to this constraint, then for each parameter, only child elements of the objects chosen in this constraints information can be selected.
This constrant is technically enforce using scoping rules. </p>
</td>
</tr><tr> <td><div id="testdefinitionTestContraints.whenParams" class="teletype">whenParams</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>
<div class="label">Cardinality: [0..*]</div>
<div class="label">Containment</div>
</td>
<td> <p>A set of constraints for the parameterization of the individual parameters of the when clause of a test template.
In a test definition which refers to this constraint, then for each parameter, only child elements of the objects chosen in this constraints information can be selected.
This constrant is technically enforce using scoping rules. </p>
</td>
</tr></table>
<a href="#test_definition.TestContraints.ref"></a>
<h2 id="testdefinitionTestDefinition"><a href="#testdefinitionTestDefinition"><a href="#testdefinitionTestDefinition">TestDefinition</a></a></h2>
<p>A TestDefinition decribes a parameterised test. It references a TestConstraint that it meets, which in turn references a TestTemplate that it meets to define the parameters that must be set and their expected types provided by example.</p>
<table>
<tr>
<th colspan="3"><div class="tableHeader">Attributes</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionTestDefinition.name" class="teletype">name</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>
<div class="label">Cardinality: [0..1]</div>
<div class="label">Identifier</div>
</td> <td><p>The name of the TestDefinition</p>
</td>
</tr></table>
<a href="#test_definition.TestDefinition.attr"></a>
<table>
<tr>
<th colspan="3"><div class="tableHeader">References</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionTestDefinition.given" class="teletype">given</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionGiven">Given</a></span></div>
<div class="label">Cardinality: [0..1]</div>
<div class="label">Containment</div>
</td>
<td> <p>The given clause of the test</p>
</td>
</tr><tr> <td><div id="testdefinitionTestDefinition.testContraints" class="teletype">testContraints</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestContraints">TestContraints</a></span></div>
<div class="label">Cardinality: [0..1]</div>
</td>
<td> <p>The constraints met by the TestDefinition</p>
</td>
</tr><tr> <td><div id="testdefinitionTestDefinition.then" class="teletype">then</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionThen">Then</a></span></div>
<div class="label">Cardinality: [0..1]</div>
<div class="label">Containment</div>
</td>
<td> <p>The then clause of the test</p>
</td>
</tr><tr> <td><div id="testdefinitionTestDefinition.when" class="teletype">when</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionWhen">When</a></span></div>
<div class="label">Cardinality: [0..1]</div>
<div class="label">Containment</div>
</td>
<td> <p>The when clause of the test</p>
</td>
</tr></table>
<a href="#test_definition.TestDefinition.ref"></a>
<h2 id="testdefinitionTestDefinitionModule"><a href="#testdefinitionTestDefinitionModule"><a href="#testdefinitionTestDefinitionModule">TestDefinitionModule</a></a></h2>
<p>A module containing a set of TestDefinitions</p>
<h4><b>Supertype:</b><a href="#modulemanagementModule">Module</a></h4><table>
<tr>
<th colspan="3"><div class="tableHeader">References</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionTestDefinitionModule.testDefinitions" class="teletype">testDefinitions</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestDefinition">TestDefinition</a></span></div>
<div class="label">Cardinality: [0..*]</div>
<div class="label">Containment</div>
</td>
<td> <p>The TestDefinitions</p>
</td>
</tr></table>
<a href="#test_definition.TestDefinitionModule.ref"></a>
<h2 id="testdefinitionTestTemplate"><a href="#testdefinitionTestTemplate"><a href="#testdefinitionTestTemplate">TestTemplate</a></a></h2>
<p>A TestTemplates describes what parameters exist in the given when and then clauses of a TestDefinition.
It also gives and example of one valid setting for each Parameter, this is an easy way to set the type of the parameter by example.
The actual parameters of the TestDefintion should be set to objects of the same type as the example parmater, and should meet the contraints defined int he TestConstraints associated with the TestDefinition.</p>
<table>
<tr>
<th colspan="3"><div class="tableHeader">Attributes</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionTestTemplate.name" class="teletype">name</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>
<div class="label">Cardinality: [0..1]</div>
<div class="label">Identifier</div>
</td> <td><p>The name, and id, of the TestTemplate</p>
</td>
</tr></table>
<a href="#test_definition.TestTemplate.attr"></a>
<table>
<tr>
<th colspan="3"><div class="tableHeader">References</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionTestTemplate.givenParams" class="teletype">givenParams</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>
<div class="label">Cardinality: [0..*]</div>
<div class="label">Containment</div>
</td>
<td> <p>The parameters of the given clause</p>
</td>
</tr><tr> <td><div id="testdefinitionTestTemplate.givenText" class="teletype">givenText</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionClauseText">ClauseText</a></span></div>
<div class="label">Cardinality: [0..1]</div>
<div class="label">Containment</div>
</td>
<td> <p>The text of the given clause</p>
</td>
</tr><tr> <td><div id="testdefinitionTestTemplate.thenParams" class="teletype">thenParams</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>
<div class="label">Cardinality: [0..*]</div>
<div class="label">Containment</div>
</td>
<td> <p>The parameters of the then clause</p>
</td>
</tr><tr> <td><div id="testdefinitionTestTemplate.thenText" class="teletype">thenText</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionClauseText">ClauseText</a></span></div>
<div class="label">Cardinality: [0..1]</div>
<div class="label">Containment</div>
</td>
<td> <p>The text of the then clause</p>
</td>
</tr><tr> <td><div id="testdefinitionTestTemplate.whenParams" class="teletype">whenParams</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>
<div class="label">Cardinality: [0..*]</div>
<div class="label">Containment</div>
</td>
<td> <p>The parameters of the when clause</p>
</td>
</tr><tr> <td><div id="testdefinitionTestTemplate.whenText" class="teletype">whenText</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionClauseText">ClauseText</a></span></div>
<div class="label">Cardinality: [0..1]</div>
<div class="label">Containment</div>
</td>
<td> <p>The text of the when clause</p>
</td>
</tr></table>
<a href="#test_definition.TestTemplate.ref"></a>
<h2 id="testdefinitionTestTemplateModule"><a href="#testdefinitionTestTemplateModule"><a href="#testdefinitionTestTemplateModule">TestTemplateModule</a></a></h2>
<p>A Module with a set of TestTemplates</p>
<h4><b>Supertype:</b><a href="#modulemanagementModule">Module</a></h4><table>
<tr>
<th colspan="3"><div class="tableHeader">References</div></th>
</tr>
<tr>
<th><div class="columnHeader">Name</div></th>
<th><div class="columnHeader">Properties</div></th>
<th><div class="columnHeader">Documentation</div></th>
</tr>
<tr> <td><div id="testdefinitionTestTemplateModule.templates" class="teletype">templates</div>
</td>
<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestTemplate">TestTemplate</a></span></div>
<div class="label">Cardinality: [0..*]</div>
<div class="label">Containment</div>
</td>
<td> <p>The templates</p>
</td>
</tr></table>
<a href="#test_definition.TestTemplateModule.ref"></a>
<h2 id="testdefinitionThen"><a href="#testdefinitionThen"><a href="#testdefinitionThen">Then</a></a></h2>
<p>A Then clause</p>
<h4><b>Supertype:</b><a href="#testdefinitionClause">Clause</a></h4><h2 id="testdefinitionUnitTestDefinition"><a href="#testdefinitionUnitTestDefinition"><a href="#testdefinitionUnitTestDefinition">UnitTestDefinition</a></a></h2>
<p>A TestDefinition which represents a Unit Test</p>
<h4><b>Supertype:</b><a href="#testdefinitionTestDefinition">TestDefinition</a></h4><h2 id="testdefinitionWhen"><a href="#testdefinitionWhen"><a href="#testdefinitionWhen">When</a></a></h2>
<p>A When clause</p>
<h4><b>Supertype:</b><a href="#testdefinitionClause">Clause</a></h4></body>
</html>