Пример #1
0
        public void Should_ReturnExpectedString_When_CallToString()
        {
            string          expect1 = "WuStateReady --> WuStateRebootRequired, condition: no";
            string          expect2 = "WuStateReady --> WuStateRebootRequired, condition: yes";
            StateTransition t1      = new StateTransition(typeof(WuStateReady), typeof(WuStateRebootRequired));
            StateTransition t2      = new StateTransition(typeof(WuStateReady), typeof(WuStateRebootRequired), (x) => { return(ConditionEvalResult.ValidStateChange); });

            Assert.AreEqual(expect1, t1.ToString());
            Assert.AreEqual(expect2, t2.ToString());
        }
Пример #2
0
        public void ToString_ReturnsExpectedString()
        {
            // Arrange
            var stateTransition = new StateTransition <OrderState>(OrderState.Initialized, Trigger.Event(typeof(OrderAccepted)));

            // Act
            var result = stateTransition.ToString();

            // Assert
            Assert.Equal("StateTransition(Initialized -> OrderAccepted)", result);
        }
Пример #3
0
        public void ToString_ReturnsExpectedString()
        {
            // Arrange
            var stateTransition = new StateTransition(new State(OrderStatus.Initialized), new Trigger(OrderEvent.Accepted));

            // Act
            var result = stateTransition.ToString();

            // Assert
            Assert.Equal("StateTransition: Initialized -> Accepted", result);
        }
Пример #4
0
        /// <summary>
        /// Resumes the associated workflow with the specified transition.
        /// </summary>
        /// <param name="transition">The workflow state transition.</param>
        public void Resume(StateTransition transition)
        {
            // load the durable instance
            _application.Load(_instanceId);

            // resume execution from the specified bookmark
            var result = _application.ResumeBookmark(
                transition.ToString(),
                _instanceId);

            switch (result) // check for exceptions in resume
            {
            case BookmarkResumptionResult.NotFound:
                throw new InvalidOperationException(ErrBadTransition);

            case BookmarkResumptionResult.NotReady:
                throw new InvalidOperationException(ErrCannotResume);
            }
        }