public void BeTrueWhenMissingStartStateOnDeclaratioWithEventOnEnterEvent() { //arrange var wf = new Floo(); wf.AddStateSetting("StartState") .IsStartState() .OnEnterEvent(FakeEnterExitCallback) .OnExitEvent(FakeEnterExitCallback); wf.AddStateSetting("EndState") .IsEndState() .OnEnterEvent(FakeEnterExitCallback); wf.AddTransition() .From("StartState") .On("Command") .GoTo("EndState"); //act var isValid = wf.IsValid(); //assert Assert.True(isValid); }
public void ReturnTrueWhenRule4IsValid() { //arrange var flow = new Floo(); flow.AddStateSetting("OnState").IsStartState(); flow.AddStateSetting("ErrorState").IsEndState(); flow.AddTransition() .From("OnState") .On("SendMessage") .Do(ctx => FakeFunk(ref ctx)) .When(FakeCheck) .GoTo("SentState") .When(FakeCheck) .GoTo("ErrorState") .Otherwise() .StayAt("OnState"); //act bool isValid = flow.IsValid(); //assert Assert.True(isValid); }
public void BeTrueForStartStateDeclaration() { //arrange var wf = new Floo(); wf.AddStateSetting("StartState") .IsStartState(); wf.AddTransition() .From("StartState") .On("Command") .GoTo("EndState"); //act bool isValid = wf.IsValid(); //assert Assert.True(isValid); }
public void ReturnTrueWhenRule1IsValid() { //arrange var flow = new Floo(); flow.AddStateSetting("OnState").IsStartState(); flow.AddStateSetting("ErrorState").IsEndState(); flow.AddTransition() .From("OnState") .On("SendMessage") .GoTo("ErrorState"); //act bool isValid = flow.IsValid(); //assert Assert.True(isValid); }