public void Sequence_MultipleRoutines() { var state = new State(); var sequence = new Sequence( new TestRoutine(this), new TestRoutine(this), new TestRoutine(this) ); Assert.Equal(RoutineStatus.Running, sequence.Act(state)); Assert.Equal(RoutineStatus.Running, sequence.Act(state)); Assert.Equal(RoutineStatus.Success, sequence.Act(state)); state.Reset(); Assert.Equal(3, this.TestInc); this.TestInc = 0; Assert.Equal(RoutineStatus.Running, sequence.Act(state)); Assert.Equal(RoutineStatus.Running, sequence.Act(state)); Assert.Equal(RoutineStatus.Success, sequence.Act(state)); state.Reset(); Assert.Equal(RoutineStatus.Running, sequence.Act(state)); Assert.Equal(RoutineStatus.Running, sequence.Act(state)); Assert.Equal(RoutineStatus.Success, sequence.Act(state)); state.Reset(); Assert.Equal(6, this.TestInc); }
public void Sequence_OneRoutine() { var state = new State(); var sequence = new Sequence( new TestRoutine(this) ); Assert.Equal(RoutineStatus.Success, sequence.Act(state)); Assert.Equal(1, this.TestInc); state.Reset(); Assert.Equal(RoutineStatus.Success, sequence.Act(state)); Assert.Equal(2, this.TestInc); state.Reset(); Assert.Equal(RoutineStatus.Success, sequence.Act(state)); state.Reset(); Assert.Equal(RoutineStatus.Success, sequence.Act(state)); state.Reset(); Assert.Equal(RoutineStatus.Success, sequence.Act(state)); state.Reset(); Assert.Equal(5, this.TestInc); }
public void Sequence_Fail() { var state = new State(); var sequence = new Sequence( new TestRoutine(this), new TestRoutine(this), new TestRoutine(this) ); this.TestInc = 6; Assert.Equal(RoutineStatus.Running, sequence.Act(state)); Assert.Equal(RoutineStatus.Running, sequence.Act(state)); Assert.Equal(RoutineStatus.Success, sequence.Act(state)); state.Reset(); Assert.Equal(RoutineStatus.Running, sequence.Act(state)); Assert.Equal(RoutineStatus.Failure, sequence.Act(state)); Assert.Equal(11, this.TestInc); Assert.Equal(RoutineStatus.Failure, sequence.Act(state)); Assert.Equal(RoutineStatus.Failure, sequence.Act(state)); Assert.Equal(11, this.TestInc); }