public void SelectionOperator_Select_NullPopulation() { GeneticAlgorithm algorithm = GetAlgorithm(); MockSelectionOperator op = new MockSelectionOperator(); op.Initialize(algorithm); Assert.Throws <ArgumentNullException>(() => op.SelectEntities(1, null)); }
public void SelectionOperator_Serialization() { MockSelectionOperator op = new MockSelectionOperator { SelectionBasedOnFitnessType = FitnessType.Raw }; MockSelectionOperator result = (MockSelectionOperator)SerializationHelper.TestSerialization(op, new Type[0]); Assert.Equal(op.SelectionBasedOnFitnessType, result.SelectionBasedOnFitnessType); }
public void SelectionOperator_Select_EmptyPopulation() { GeneticAlgorithm algorithm = GetAlgorithm(); MockSelectionOperator op = new MockSelectionOperator(); op.Initialize(algorithm); MockPopulation population = new MockPopulation(); population.Initialize(algorithm); Assert.Throws <ArgumentException>(() => op.SelectEntities(1, population)); }
public void SelectionOperator_Select() { GeneticAlgorithm algorithm = GetAlgorithm(); MockSelectionOperator op = new MockSelectionOperator(); op.Initialize(algorithm); MockPopulation population = new MockPopulation(); population.Initialize(algorithm); GeneticEntity entity1 = new MockEntity(); entity1.Initialize(algorithm); GeneticEntity entity2 = new MockEntity(); entity2.Initialize(algorithm); population.Entities.Add(entity1); population.Entities.Add(entity2); IList <GeneticEntity> selectedEntities = op.SelectEntities(1, population); Assert.Same(entity1, selectedEntities[0]); Assert.Equal(1, op.DoSelectCallCount); }
public async Task MultiDemeGeneticAlgorithm_CreateNextGeneration_Async() { TestMultiDemeGeneticAlgorithm algorithm = new TestMultiDemeGeneticAlgorithm { FitnessEvaluator = new MockFitnessEvaluator(), GeneticEntitySeed = new MockEntity(), PopulationSeed = new SimplePopulation { MinimumPopulationSize = 3 }, MigrantCount = 1, SelectionOperator = new MockSelectionOperator { SelectionBasedOnFitnessType = FitnessType.Raw } }; MockSelectionOperator selectionOp = new MockSelectionOperator(); algorithm.SelectionOperator = selectionOp; await algorithm.InitializeAsync(); PrivateObject accessor = new PrivateObject(algorithm); algorithm.Environment.Populations.Add(GetPopulation(algorithm)); algorithm.Environment.Populations.Add(GetPopulation(algorithm)); SimplePopulation population = GetPopulation(algorithm); algorithm.Environment.Populations.Add(population); int prevPopCount = population.Entities.Count; await(Task) accessor.Invoke("CreateNextGenerationAsync", population); Assert.Equal(1, selectionOp.DoSelectCallCount); Assert.Equal(prevPopCount, population.Entities.Count); }
public void SelectionOperator_Ctor_NullAlgorithm() { MockSelectionOperator op = new MockSelectionOperator(); Assert.Throws <ArgumentNullException>(() => op.Initialize(null)); }