public ITermination And()
        {
            var target = new AndTermination(_trueTermination, _trueTermination);

            target.HasReached(Substitute.For <IGeneticAlgorithm>());
            return(target);
        }
示例#2
0
        public void AddTermination_Null_Exception()
        {
            var target = new AndTermination();

            ExceptionAssert.IsThrowing(new ArgumentNullException("termination"), () =>
            {
                target.AddTermination(null);
            });
        }
        public void AddTermination_Null_Exception()
        {
            var target = new AndTermination();

            Assert.Catch <ArgumentNullException>(() =>
            {
                target.AddTermination(null);
            });
        }
示例#4
0
        public void ToString_NoArgs_State()
        {
            var t1 = new AndTermination();
            var t2 = new OrTermination();
            var t3 = new AndTermination();

            var target = new AndTermination(t1, t2, t3);

            Assert.AreEqual("AndTermination (AndTermination (), OrTermination (), AndTermination ())", target.ToString());
        }
示例#5
0
        public void HasReached_LessThan2Terminations_Exception()
        {
            var target = new AndTermination();

            target.AddTermination(MockRepository.GenerateMock <ITermination>());

            ExceptionAssert.IsThrowing(new InvalidOperationException("The AndTermination needs at least 2 terminations to perform. Please, add the missing terminations."), () =>
            {
                target.HasReached(MockRepository.GenerateMock <IGeneticAlgorithm>());
            });
        }
        public void HasReached_LessThan2Terminations_Exception()
        {
            var target = new AndTermination();

            target.AddTermination(Substitute.For <ITermination>());

            Assert.Catch <InvalidOperationException>(() =>
            {
                target.HasReached(Substitute.For <IGeneticAlgorithm>());
            }, "The AndTermination needs at least 2 terminations to perform. Please, add the missing terminations.");
        }
示例#7
0
        public void Constructors_Terminations_Added()
        {
            var ga = MockRepository.GenerateMock <IGeneticAlgorithm>();
            var t1 = MockRepository.GenerateMock <ITermination>();

            t1.Expect(t => t.HasReached(ga)).IgnoreArguments().Return(true);

            var t2 = MockRepository.GenerateMock <ITermination>();

            t2.Expect(t => t.HasReached(ga)).IgnoreArguments().Return(true);

            var t3 = MockRepository.GenerateMock <ITermination>();

            t3.Expect(t => t.HasReached(ga)).IgnoreArguments().Return(false);

            var target = new AndTermination(t1, t2, t3);

            Assert.IsFalse(target.HasReached(ga));
        }
        public void Constructors_Terminations_Added()
        {
            var ga = Substitute.For <IGeneticAlgorithm>();
            var t1 = Substitute.For <ITermination>();

            t1.HasReached(ga).ReturnsForAnyArgs(true);

            var t2 = Substitute.For <ITermination>();

            t2.HasReached(ga).ReturnsForAnyArgs(true);

            var t3 = Substitute.For <ITermination>();

            t3.HasReached(ga).ReturnsForAnyArgs(false);

            var target = new AndTermination(t1, t2, t3);

            Assert.IsFalse(target.HasReached(ga));
        }
示例#9
0
        public void HasReached_OnlyOneTerminationsHasNotReached_False()
        {
            var target = new AndTermination();
            var ga     = MockRepository.GenerateMock <IGeneticAlgorithm>();

            var t1 = MockRepository.GenerateMock <ITermination>();

            t1.Expect(t => t.HasReached(ga)).IgnoreArguments().Return(true);
            target.AddTermination(t1);

            var t2 = MockRepository.GenerateMock <ITermination>();

            t2.Expect(t => t.HasReached(ga)).IgnoreArguments().Return(true);
            target.AddTermination(t2);

            var t3 = MockRepository.GenerateMock <ITermination>();

            t3.Expect(t => t.HasReached(ga)).IgnoreArguments().Return(false);
            target.AddTermination(t3);

            Assert.IsFalse(target.HasReached(ga));
        }
        public void HasReached_OnlyOneTerminationsHasNotReached_False()
        {
            var target = new AndTermination();
            var ga     = Substitute.For <IGeneticAlgorithm>();

            var t1 = Substitute.For <ITermination>();

            t1.HasReached(ga).ReturnsForAnyArgs(true);
            target.AddTermination(t1);

            var t2 = Substitute.For <ITermination>();

            t2.HasReached(ga).ReturnsForAnyArgs(true);
            target.AddTermination(t2);

            var t3 = Substitute.For <ITermination>();

            t3.HasReached(ga).ReturnsForAnyArgs(false);
            target.AddTermination(t3);

            Assert.IsFalse(target.HasReached(ga));
        }