public async Task GeneticEntityCollectionExtensions_GetEntitiesSortedByFitness_SortScaledMinimize() { TestEntity testEntity1 = new TestEntity { TestFitnessValue = 1 }; TestEntity testEntity2 = new TestEntity { TestFitnessValue = 3 }; TestEntity testEntity3 = new TestEntity { TestFitnessValue = 2 }; List <GeneticEntity> entities = new List <GeneticEntity> { testEntity1, testEntity2, testEntity3, }; MockGeneticAlgorithm algorithm = new MockGeneticAlgorithm { FitnessEvaluator = new TestFitnessEvalutor() }; foreach (GeneticEntity entity in entities) { entity.Initialize(algorithm); await entity.EvaluateFitnessAsync(); } testEntity1.ScaledFitnessValue = 3; testEntity2.ScaledFitnessValue = 1; testEntity3.ScaledFitnessValue = 2; List <GeneticEntity> results = GeneticEntityCollectionExtensions.GetEntitiesSortedByFitness(entities, FitnessType.Scaled, FitnessEvaluationMode.Minimize).ToList(); Assert.Equal(3, results.Count); Assert.Same(testEntity1, results[0]); Assert.Same(testEntity3, results[1]); Assert.Same(testEntity2, results[2]); }
public void GeneticEntityCollectionExtensions_GetEntitiesSortedByFitness_InvalidFitnessEvaluationMode() { Assert.Throws <ArgumentException>(() => GeneticEntityCollectionExtensions.GetEntitiesSortedByFitness(new GeneticEntity[0], FitnessType.Raw, (FitnessEvaluationMode)5)); }
public void GeneticEntityCollectionExtensions_GetEntitiesSortedByFitness_NullCollection() { Assert.Throws <ArgumentNullException>(() => GeneticEntityCollectionExtensions.GetEntitiesSortedByFitness(null, FitnessType.Raw, FitnessEvaluationMode.Maximize)); }