public void TestFailedNodeAfterTasksAreRunningThenRecovery() { var systemState = new SystemStateMachine(); systemState.MoveNext(SystemStateEvent.AllContextsAreReady); systemState.MoveNext(SystemStateEvent.AllTasksAreRunning); Assert.True(systemState.MoveNext(SystemStateEvent.FailedNode).Equals(SystemState.ShuttingDown), "Fail to move from TasksRunning state to ShuttingDown state."); Assert.True(systemState.MoveNext(SystemStateEvent.FailedNode).Equals(SystemState.ShuttingDown), "Fail to stay at ShuttingDown state."); Assert.True(systemState.MoveNext(SystemStateEvent.Recover).Equals(SystemState.WaitingForEvaluator), "Fail to move from ShuttingDown state to WaitingForEvaluator state."); }
public void TestFromRequestEvaluatorToTasksComplete() { var systemState = new SystemStateMachine(); Assert.True(systemState.CurrentState.Equals(SystemState.WaitingForEvaluator), "The initial state should be WaitingForEvaluator."); Assert.True(systemState.MoveNext(SystemStateEvent.FailedNode).Equals(SystemState.WaitingForEvaluator), "Fail to stay at WaitingForEvaluator state."); Assert.True(systemState.MoveNext(SystemStateEvent.AllContextsAreReady).Equals(SystemState.SubmittingTasks), "Fail to move from WaitingForEvaluator state to SubmittingTasks state."); Assert.True(systemState.MoveNext(SystemStateEvent.AllTasksAreRunning).Equals(SystemState.TasksRunning), "Fail to move from SubmittingTasks state to TasksRunning state."); Assert.True(systemState.MoveNext(SystemStateEvent.AllTasksAreCompleted).Equals(SystemState.TasksCompleted), "Fail to move from TasksRunning state to TasksCompleted state."); }
public void TestFailedNodeAfterTasksAreRunningThenFail() { var systemState = new SystemStateMachine(); systemState.MoveNext(SystemStateEvent.AllContextsAreReady); systemState.MoveNext(SystemStateEvent.AllTasksAreRunning); Assert.True(systemState.MoveNext(SystemStateEvent.FailedNode).Equals(SystemState.ShuttingDown), "Fail to move from TasksRunning state to ShuttingDown state."); Assert.True(systemState.MoveNext(SystemStateEvent.NotRecoverable).Equals(SystemState.Fail), "Fail to move from ShuttingDown state to Fail state."); }
public void TestNoRecoverableFailedEvaluatorDuringWaitingForEvaluator() { var systemState = new SystemStateMachine(); Assert.True(systemState.MoveNext(SystemStateEvent.NotRecoverable).Equals(SystemState.Fail), "Fail to move from WaitingForEvaluator state to Fail state."); }