Beispiel #1
0
        public void YieldTheMostRecentWhenStepWhenGoToMostRecentWhenStepIsCalledDuringIteration()
        {
            var mostRecentWhenStep = new WhenStep("When something else", null, null);
            var steps = new List <IStep>
            {
                new GivenStep("Given something", null, null),
                new WhenStep("When something", null, null),
                mostRecentWhenStep,
                new ThenStep("Then something", null, null)
            };

            var stepsIterator = new StepsIterator(steps);

            var readyToAssert = false;

            foreach (var step in stepsIterator.Iterate())
            {
                if (readyToAssert)
                {
                    Assert.AreEqual(mostRecentWhenStep, step);
                    break;
                }

                if (step is ThenStep)
                {
                    stepsIterator.GoToMostRecentWhenStep();
                    readyToAssert = true;
                }
            }
        }
Beispiel #2
0
        public void YieldTheWhenStepWhenGoToMostRecentWhenStepIsCalledDuringIteration()
        {
            var steps = new List <IStep>
            {
                new GivenStep("Given something", null, null),
                new WhenStep("When something", null, null),
                new ThenStep("Then something", null, null)
            };

            var stepsIterator = new StepsIterator(steps);

            var readyToAssert = false;

            foreach (var step in stepsIterator.Iterate())
            {
                if (readyToAssert)
                {
                    Assert.IsInstanceOfType(step, typeof(WhenStep));
                    break;
                }

                if (step is ThenStep)
                {
                    stepsIterator.GoToMostRecentWhenStep();
                    readyToAssert = true;
                }
            }
        }
Beispiel #3
0
        public void YieldTheStepsItIsGivenInOrder()
        {
            var steps = new List <IStep>
            {
                new GivenStep("Given something", null, null),
                new GivenStep("Given something else", null, null),
                new WhenStep("When something", null, null),
                new ThenStep("Then something", null, null),
                new ThenStep("Then something else", null, null)
            };

            var stepsIterator = new StepsIterator(steps);

            var index = 0;

            foreach (var step in stepsIterator.Iterate())
            {
                Assert
                .AreEqual(
                    steps.ElementAt(index),
                    step);

                index++;
            }
        }
Beispiel #4
0
        public void ThrowWhenGoToMostRecentWhenStepIsCalledDuringIterationAndThereIsNoPriorWhenStep()
        {
            var steps = new List <IStep>
            {
                new GivenStep("Given something", null, null),
                new WhenStep("When something", null, null),
                new ThenStep("Then something", null, null)
            };

            var stepsIterator = new StepsIterator(steps);

            foreach (var step in stepsIterator.Iterate())
            {
                if (step is GivenStep)
                {
                    Assert.ThrowsException <Exception>(() => stepsIterator.GoToMostRecentWhenStep());
                    break;
                }
            }
        }