public void RepeatPerformed_CallMoreThanRemainingIterationsTotal_RemainingIterationsIsZero()
        {
            var repeat = new IterativeRepeatBehavior(3);

            repeat.RepeatPerformed();
            repeat.RepeatPerformed();
            repeat.RepeatPerformed();
            repeat.RepeatPerformed();
            repeat.RepeatPerformed();

            Assert.AreEqual(0, repeat.RemainingIterations);
        }
        public void RepeatPerformed_DecrementsRemainingIterations()
        {
            var repeat = new IterativeRepeatBehavior(5);

            repeat.RepeatPerformed();

            Assert.AreEqual(4, repeat.RemainingIterations);
        }
        public void ShouldContinueToRepeat_ZeroRemainingIterations_ReturnsFalse()
        {
            var repeat = new IterativeRepeatBehavior(1);

            repeat.RepeatPerformed();

            bool should_continue = repeat.ShouldContinueToRepeat();

            Assert.IsFalse(should_continue);
        }
        public void RepeatPerformed_CallMoreThanRemainingIterationsTotal_RemainingIterationsIsZero()
        {
            var repeat = new IterativeRepeatBehavior (3);

            repeat.RepeatPerformed ();
            repeat.RepeatPerformed ();
            repeat.RepeatPerformed ();
            repeat.RepeatPerformed ();
            repeat.RepeatPerformed ();

            Assert.AreEqual (0, repeat.RemainingIterations);
        }
        public void ShouldContinueToRepeat_ZeroRemainingIterations_ReturnsFalse()
        {
            var repeat = new IterativeRepeatBehavior (1);

            repeat.RepeatPerformed ();

            bool should_continue = repeat.ShouldContinueToRepeat ();
            Assert.IsFalse (should_continue);
        }
        public void RepeatPerformed_DecrementsRemainingIterations()
        {
            var repeat = new IterativeRepeatBehavior (5);

            repeat.RepeatPerformed ();

            Assert.AreEqual (4, repeat.RemainingIterations);
        }