65 lines
2.3 KiB
Plaintext
65 lines
2.3 KiB
Plaintext
|
If a decision table is implemented with a class you can specify constructor arguments.
|
||
|
See .FitNesse.UserGuide.WritingAcceptanceTests.SliM.ConstructorArguments for details.
|
||
|
|
||
|
If a decision table is implemented with a scenario you can specify constructor arguments as well they have the following meaning:
|
||
|
|
||
|
|scenario | Division _ _ _|numerator, denominator, quotient?|
|
||
|
|setNumerator| @numerator|
|
||
|
|setDenominator| @denominator|
|
||
|
|$quotient= | quotient|
|
||
|
|
||
|
|library|
|
||
|
|eg.Division|
|
||
|
|
||
|
!3 Calling a Scenario with Constructor Parameters
|
||
|
|
||
|
The input variable "numerator" is given on the table construction line and must not be repeated in each row.
|
||
|
This can make the decison tables more readable.
|
||
|
|
||
|
| Division | having |numerator| 9|
|
||
|
| denominator | quotient? |
|
||
|
| 3 | 3.0 |
|
||
|
| 2 | 4.5 |
|
||
|
|
||
|
The Syntax is - Scenario Name - [given|having] - 1. Variable Name - 1. Variable Value - 2. Variable Name - 2. Variable Value - ....
|
||
|
|
||
|
!5 To ensure backward compatibility constructor parameters are first checked if they are part of a scenario name
|
||
|
If a senario is found it will be used and no constructor values are passed.
|
||
|
Only if no such scenario is found the constructor parameters can be used.
|
||
|
|
||
|
Example:
|
||
|
|
||
|
Again a scenario with the same signature as above
|
||
|
|scenario | Division _ _ _|numerator, denominator, quotient?|
|
||
|
|check| echo | @numerator|7|
|
||
|
|
||
|
| Division | having |numerator| 7|
|
||
|
| denominator |
|
||
|
| 3 |
|
||
|
|
||
|
Now a higher priority scenario name
|
||
|
This new scenario has a name which matches the constructor parameter name "numerator".
|
||
|
Calling again the same decision table will use this scenario.
|
||
|
But numerator will not have a value.
|
||
|
|scenario | Division Numerator _ _ _| numerator, denominator, quotient?|
|
||
|
|check| echo | @numerator|@numerator|
|
||
|
|check not |echo| @numerator|12|
|
||
|
|
||
|
|
||
|
| Division | having |numerator| 12|
|
||
|
| denominator |
|
||
|
| 3 |
|
||
|
|
||
|
!3 Scenario without output parameters can be used as well with constructor parameters
|
||
|
In this case the full line will be collered with the scenario test result. In scenarios with output parameters only the output column cells are colored.
|
||
|
|scenario | myDivision _ _ _|numerator, denominator, quotient|
|
||
|
|setNumerator| @numerator|
|
||
|
|setDenominator| @denominator|
|
||
|
|check | quotient| @quotient |
|
||
|
|
||
|
| myDivision | having |numerator| 12|
|
||
|
| denominator |quotient|
|
||
|
| 3 | 4.0|
|
||
|
|6|2.0|
|
||
|
|4|3.0|
|