public void GuardWithASingleArgument()
{
this.testee.In(StateMachine.States.A)
.On(StateMachine.Events.B)
.If<int>(SingleIntArgumentGuardReturningFalse).Goto(StateMachine.States.C)
.If(() => false).Goto(StateMachine.States.D)
.If(() => false).Goto(StateMachine.States.E)
.If<int>(SingleIntArgumentGuardReturningTrue).Goto(StateMachine.States.B);
this.testee.Initialize(StateMachine.States.A);
this.testee.EnterInitialState();
this.testee.Fire(StateMachine.Events.B, 3);
Assert.Equal(StateMachine.States.B, this.testee.CurrentStateId);
}