public void State_Start(DataStructureV1 startData) { switch (_stateContainer.PrevState) { case StateEnumV1.Enabled: { Thread.Sleep(2000); SetStateNData(StateEnumV1.Start, startData); } break; case StateEnumV1.Start: { Thread.Sleep(2000); SetState(StateEnumV1.Start); } break; case StateEnumV1.Idle: // can't switch from Idle break; case StateEnumV1.Animating: // can't switch from Animating break; case StateEnumV1.Disabled: // can't switch from Disabled break; default: throw new InvalidEnumArgumentException(); } }
public void GetData_ReturnsData() { // arrange var mockLogger = MockRepository.Mock <Serilog.ILogger>(); var initialData = new DataStructureV1(); var mockStateContainer = MockRepository.Mock <IStateContainer <DataStructureV1> >(); mockStateContainer.Stub(container => container.Data).Return(initialData).Repeat.Once(); var stateMachine = new StateMachineV1(mockStateContainer, mockLogger); // act DataStructureV1 returnedData = stateMachine.GetData(); // assert Assert.AreEqual(initialData, returnedData); mockStateContainer.AssertWasNotCalled(container => container.State); mockStateContainer.AssertWasNotCalled(container => container.PrevState); mockStateContainer.AssertWasCalled(container => container.Data); }
private void SetStateNData(StateEnumV1 state, DataStructureV1 data) { _stateContainer.State = state; _stateContainer.Data = data; }