pub fn perform(
suite: &Suite,
prec: &Precedence,
state: &Condition,
action: &Trigger,
) -> OutcomeExpand description
Perform action in state.
An expectation fires if the state implies its Given and the action implies its trigger. The rest of a compound action happens first: in “When the dial is 0 % and the user presses reset”, an expectation about reset sees the dial at 0. The new state is the old one with the action’s changes and every fired Then written over it (anything nobody mentions keeps its value), and then the invariants applied.