org.cddcore.engine.EngineUniverse
You should probably not call this explicitly.
You should probably not call this explicitly. This makes a copy of the builder with new data. The builder is an immutable object, so this is how data is actually 'changed' when you call methods like description
An assertion is an extra test to be run.
An assertion is an extra test to be run. The assertions must be true for the scenario when the engine has been built. The function you pass in to it takes the parameters and the result of the engine, and returns a boolean
Set the 'because' of the 'last thing to be mentioned' to be this value.
Set the 'because' of the 'last thing to be mentioned' to be this value. i.e. the builder/usecase/scenario. Throws CannotDefineBecauseTwiceException if expected already set. If you haven't set a code, then this will also act as the code
This is optional, as it defaults to returning 'expected'.
This is optional, as it defaults to returning 'expected'. The code is the code that you would use to generate the expected.
The TennisScorer is a good example of where this is needed :
scenario(2, 3).expected("thirty, forty").code((l: Int, r: Int) => s"${lookup(l)}, ${lookup(r)}").
Although in this case 'thirty forty' is the expected, we want to calculate the value so that it can be generalised for other inputs
This method is used if you are action on mutable parameters.
This method is used if you are action on mutable parameters. The cgnFn is called to setup the parameters prior to them being used in the because clause
The cfgFn is only used while building the engine. An example use would be when the parameter is a mutable object like a Swing JTextArea. The cfgFn would setup the textarea to have the correct values
Set the description of the 'last thing to be mentioned' i.
Set the description of the 'last thing to be mentioned' i.e. the builder/usecase/scenario. Throws CannotDefineDescriptionTwiceException if title already set. The description is used when creating reports
This adds the documents you specify to the documents that the builder 'knows about'.
This adds the documents you specify to the documents that the builder 'knows about'. Currently the documents are only used by references.
Set the 'expected' of the 'last thing to be mentioned' to be an exception.
Set the 'expected' of the 'last thing to be mentioned' to be an exception. i.e. the builder/usecase/scenario. Throws CannotDefineExpectedTwiceException if expected already set. Note that the engine will currently only check the type of the message, not the message itself, and that you must have a 'code' to throw the exception
Set the 'expected' of the 'last thing to be mentioned' to be this value.
Set the 'expected' of the 'last thing to be mentioned' to be this value. i.e. the builder/usecase/scenario. Throws CannotDefineExpectedTwiceException if expected already set. If you haven't set a code, then this will also act as the code
This is only used when using the 'live' website option.
This is only used when using the 'live' website option. It turns a string into a parameter, and gives the parameter a 'nice' name on the website
Set the 'priority' of the 'last thing to be mentioned' to be this value.
Set the 'priority' of the 'last thing to be mentioned' to be this value. i.e. the builder/usecase/scenario. This determines the 'rule ordering' of the scenarios. If you don't like the produced decision tree, you can increase /decrease the priority of a scenario with the because clause you want to move
Adds a reference to the 'last thing to be mentioned'.
Adds a reference to the 'last thing to be mentioned'. This is just the 'ref' string, without a document
Adds a reference to the 'last thing to be mentioned'.
Adds a reference to the 'last thing to be mentioned'. References are currently just used in the reports.
Adds a reference to the 'last thing to be mentioned'.
Adds a reference to the 'last thing to be mentioned'. References are currently just used in the reports. If the documentName isn't in the list of doucments, this will throw a CannotFindDocumentException
Set the title of the 'last thing to be mentioned' i.
Set the title of the 'last thing to be mentioned' i.e. the builder/usecase/scenario. Throws CannotDefineTitleTwiceException if title already set. The title is used when creating reports
Starts the definition of a new case.
Starts the definition of a new case. A use case can be thought of as a list of scenarios
Starts the definition of a new case.
Starts the definition of a new case. A use case can be thought of as a list of scenarios