示例#1
0
        /// <summary>
        /// Создать улей, запустить его на 5 секунд, и остановить.
        /// </summary>
        /// <param name="initialState">Изначальное состояние улья.</param>
        /// <returns>Состояние отработавшего улья.</returns>
        private IBeehiveState LaunchBeehiveForFiveSeconds(IBeehiveState initialState)
        {
            BeeWorkflowBeehive beehive = new BeeWorkflowBeehive();

            beehive.Start(initialState);
            Task.Delay(5000).GetAwaiter().GetResult();
            IBeehiveState state = beehive.Stop();

            state.Validate();
            return(state);
        }
示例#2
0
        public void BeeWorkflowBeehive_NotStartWithIncorrectState()
        {
            foreach (IBeehiveState wrongState
                     in WrongBeehiveStates.GetWrongStates())
            {
                try
                {
                    BeeWorkflowBeehive beehive = new BeeWorkflowBeehive();
                    beehive.Start(wrongState);

                    throw new AssertFailedException(
                              "Улей не должен был запуститься с некорректным состоянием");
                }
                catch (ValidationException)
                {
                    // Так и должно быть
                }
            }
        }