Command
A type representing the commands that can run in the system under test. This type should be immutable and implement the equality operator properly.
A type representing the commands that can run in the system under test. This type should be immutable and implement the equality operator properly.
Type members
Types
An abstract representation of the result of running this command in the system under test. The Result type should be immutable and it should encode everything about the command run that is necessary to know in order to correctly implement the [postCondition] method.
An abstract representation of the result of running this command in the system under test. The Result type should be immutable and it should encode everything about the command run that is necessary to know in order to correctly implement the [postCondition] method.
Value members
Abstract methods
Returns a new State instance that represents the state of the system after this command has run, given the system was in the provided state before the run.
Returns a new State instance that represents the state of the system after this command has run, given the system was in the provided state before the run.
Postcondition that decides if this command produced the correct result or not, given the system was in the provided state before the command ran.
Postcondition that decides if this command produced the correct result or not, given the system was in the provided state before the command ran.
Precondition that decides if this command is allowed to run when the system under test is in the provided state.
Precondition that decides if this command is allowed to run when the system under test is in the provided state.
Executes the command in the system under test, and returns a representation of the result of the command run. The result value is later used for verifying that the command behaved according to the specification, by the postCondition method.
Executes the command in the system under test, and returns a representation of the result of the command run. The result value is later used for verifying that the command behaved according to the specification, by the postCondition method.