Example #1
0
        public void MultilineLoop_WithNullLine_ThrowsArgumentNullException()
        {
            ILine line = null;
            ILoop loop = MakeLoop(100);

            var value = new MultilineLoop(line, loop);
        }
Example #2
0
        public void MultilineLoop_WithNullLoop_ThrowsArgumentNullException()
        {
            ILine line = new Line("10", MakeStatement());
            ILoop loop = null;

            var value = new MultilineLoop(line, loop);
        }
Example #3
0
        public void IsOver_AtStart_IsFalse()
        {
            const int countOfIterations = 2;
            ILine     line = new Line("10", MakeStatement());
            ILoop     loop = MakeLoop(countOfIterations);

            var value = new MultilineLoop(line, loop);

            Assert.IsFalse(value.IsOver);
        }
Example #4
0
        public void IsOver_AtEnd_IsTrue()
        {
            const int countOfIterations = 2;
            ILine     line = new Line("10", MakeStatement());
            ILoop     loop = MakeLoop(countOfIterations);

            var value = new MultilineLoop(line, loop);

            // Take two iterations of the loop:
            value.TakeStep();
            value.TakeStep();

            Assert.IsTrue(value.IsOver);
        }
Example #5
0
        /// <inheritdoc />
        public void StartLoop(ILoop loop)
        {
            ThrowIfDisposed();
            ThrowIfNotRunning();

            if (loop == null)
            {
                throw new ArgumentNullException("loop");
            }

            var multilineLoop = new MultilineLoop(Runner.RunningLine, loop);

            StackOfLoops.Push(multilineLoop);
        }