public void GetNextState_ShouldReturnExpectedNextState_When_Called(DeviceWorkflowState currentState, DeviceWorkflowState expectedState, bool exceptionState = false)
        {
            Func <DeviceWorkflowState, bool, DeviceWorkflowState> method = (DeviceWorkflowState state, bool exception)
                                                                           => DeviceStateTransitionHelper.GetNextState(state, exception);

            Assert.Equal(expectedState, method(currentState, exceptionState));
        }
        public void GetNextAction_ShouldReturnCorrectType_When_Called(Type expectedType, DeviceWorkflowState initialState, bool set = true, bool exception = false)
        {
            TestHelper.Helper.SetFieldValueToInstance <IDeviceStateAction>("currentStateAction", false, false, subject, null);

            if (set)
            {
                var map = TestHelper.Helper.GetFieldValueFromInstance <ReadOnlyDictionary <DeviceWorkflowState, Func <IDeviceStateController, IDeviceStateAction> > >(
                    "workflowMap", false, false, subject);

                IDeviceStateAction action = map[initialState](stubManager);

                if (exception)
                {
                    TestHelper.Helper.SetPropertyValueToInstance <StateException>("LastException", true, false, action, new StateException());
                }

                TestHelper.Helper.SetFieldValueToInstance <IDeviceStateAction>("currentStateAction", false, false, subject, action);
            }

            Assert.IsType(expectedType, subject.GetNextAction(initialState));
        }
Beispiel #3
0
 private void LogStateChange(DeviceWorkflowState oldState, DeviceWorkflowState newState)
 //=> _ = LoggingClient.LogInfoAsync($"Workflow State change from '{oldState}' to '{newState}' detected.");
 => Console.WriteLine($"Workflow State change from '{oldState}' to '{newState}' detected.");
Beispiel #4
0
 protected void RaiseStateChange(DeviceWorkflowState oldState, DeviceWorkflowState newState)
 => StateChange?.Invoke(oldState, newState);
Beispiel #5
0
 public StateException(string message, Exception innerException, DeviceWorkflowState state)
     : base(message, innerException)
 {
     ExceptionState = state;
 }
Beispiel #6
0
 public StateException(string message, DeviceWorkflowState state) : base(message)
 {
     ExceptionState = state;
 }