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)); }
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>(); }