Ejemplo n.º 1
0
        public void TestSelectionWithMinimizing()
        {
            var offspring  = new Population(2);
            var population = new Population(2);

            var o0 = new P("o0", 1.0);

            offspring.Add(o0);
            var o1 = new P("o1", 0.0);

            offspring.Add(o1);
            var p0 = new P("p0", 1.0);

            population.Add(p0);
            var p1 = new P("p1", 0.0);

            population.Add(p1);

            var genmix = new GenerationalMixingAdultSelection(new DefaultRandomNumberGenerator());

            genmix.SelectAdults(offspring, population, 2, EAMode.MinimizeFitness);

            Assert.IsFalse(population.Contains(o0));
            Assert.IsTrue(population.Contains(o1));
            Assert.IsFalse(population.Contains(p0));
            Assert.IsTrue(population.Contains(p1));
        }
Ejemplo n.º 2
0
        public void TestSelectionWithWrongN()
        {
            var offspring  = new Population(2);
            var population = new Population(2);

            var o0 = new P("o0", 1.0);

            offspring.Add(o0);
            var o1 = new P("o1", 0.0);

            offspring.Add(o1);
            var p0 = new P("p0", 1.0);

            population.Add(p0);
            var p1 = new P("p1", 0.0);

            population.Add(p1);

            var genmix = new GenerationalMixingAdultSelection(new DefaultRandomNumberGenerator());

            genmix.Invoking(g => g.SelectAdults(offspring, population, 3, EAMode.MaximizeFitness))
            .Should().Throw <InvalidOperationException>();
        }