Abstract commands are defined as subtypes of the traits Command or SetCommand.
A command that binds its result for later use
The abstract state data type.
The abstract state data type. This type must be immutable. The state type that encodes the abstract state. The abstract state should model all the features we need from the real state, the system under test. We should leave out all details that aren't needed for specifying our pre- and postconditions. The state type must be called State and be immutable.
The command generator.
The command generator. Given an abstract state, the generator should return a command that is allowed to run in that state. Note that it is still neccessary to define preconditions on the commands if there are any. The generator is just giving a hint of which commands that are suitable for a given state, the preconditions will still be checked before a command runs. Sometimes you maybe want to adjust the distribution of your command generator according to the state, or do other calculations based on the state.
initialState should reset the system under test to a well defined initial state, and return the abstract version of that state.
Returns a new property that holds if and only if both this and the given property hold.
Returns a new property that holds if and only if both this and the given property hold. If one of the properties doesn't generate a result, the new property will generate false.
Returns a new property that holds if and only if both this and the given property hold.
Returns a new property that holds if and only if both this and the given property hold. If one of the properties doesn't generate a result, the new property will generate the same result as the other property.
Put a label on the property to make test reports clearer
Put a label on the property to make test reports clearer
Put a label on the property to make test reports clearer
Put a label on the property to make test reports clearer
Returns a new property that holds if and only if both this and the given property generates a result with the exact same status.
Returns a new property that holds if and only if both this and the given property generates a result with the exact same status. Note that this means that if one of the properties is proved, and the other one passed, then the resulting property will fail.
Combines two properties through implication
Combines two properties through implication
Convenience method that checks this property and reports the result on the console.
Convenience method that checks this property and reports the
result on the console. If you need to get the results from the test use
the check
methods in Test
instead.
Convenience method that checks this property with the given parameters and reports the result on the console.
Convenience method that checks this property with the given parameters
and reports the result on the console. If you need to get the results
from the test use the check
methods in Test
instead.
Put a label on the property to make test reports clearer
Put a label on the property to make test reports clearer
Convenience method that makes it possible to use this property as an application that checks itself on execution
Convenience method that makes it possible to use this property as an application that checks itself on execution
Whether main should call System.
Whether main should call System.exit with an exit code. Defaults to true; override to change.
The logic for main, separated out to make it easier to avoid System.
The logic for main, separated out to make it easier to avoid System.exit calls. Returns exit code.
Put a label on the property to make test reports clearer
Put a label on the property to make test reports clearer
Put a label on the property to make test reports clearer
Put a label on the property to make test reports clearer
Returns a new property that holds if either this or the given property (or both) hold.
Returns a new property that holds if either this or the given property (or both) hold.
See User Guide for usage examples