public void UpdateOnGenerationRan_Updates_GenerationCount_Correctly()
        {
            var sot = new GenerationCountState();

            Assert.AreEqual(0, sot.GenerationCount);
            sot.UpdateOnGenerationRan(null);
            Assert.AreEqual(1, sot.GenerationCount);
        }
        public void HasReached_Returns_True_WhenGenerationCountIsLargerThanMaximalNumberOfGenerations()
        {
            var sot   = new GenerationNumberTermination(10);
            var state = new GenerationCountState();

            for (var i = 0; i < 10; i++)
            {
                Assert.False(sot.HasReached(null, state));
                state.UpdateOnGenerationRan(null);
            }
            Assert.True(sot.HasReached(null, state));
        }