public void HasReached_TimeLowerThanMaxTime_False()
        {
            var ga = Substitute.For <IGeneticAlgorithm>();

            ga.TimeEvolving.Returns(TimeSpan.FromSeconds(0.1),
                                    TimeSpan.FromSeconds(00.9));

            var target = new TimeEvolvingTermination(TimeSpan.FromSeconds(1));

            Assert.IsFalse(target.HasReached(ga));
            Assert.IsFalse(target.HasReached(ga));
        }
        public void HasReached_TimeLowerThanMaxTime_False()
        {
            var repository = new MockRepository();
            var ga         = repository.StrictMock <IGeneticAlgorithm> ();

            using (repository.Ordered()) {
                ga.Expect(g => g.TimeEvolving).Return(TimeSpan.FromSeconds(0.1));
                ga.Expect(g => g.TimeEvolving).Return(TimeSpan.FromSeconds(0.9));
            }
            repository.ReplayAll();

            var target = new TimeEvolvingTermination(TimeSpan.FromSeconds(1));

            Assert.IsFalse(target.HasReached(ga));
            Assert.IsFalse(target.HasReached(ga));
        }
        public ITermination TimeEvolving()
        {
            var target = new TimeEvolvingTermination(TimeSpan.FromMilliseconds(1));
            var ga     = Substitute.For <IGeneticAlgorithm>();

            target.HasReached(ga);

            return(target);
        }