public void GetBestGenomeForSpecies_Test() { //Create agents AgentObject agent1 = new CustomAgent(populationManager, new Genome(), 100); AgentObject agent2 = new CustomAgent(populationManager, new Genome(), 200); AgentObject agent3 = new CustomAgent(populationManager, new Genome(), 300); //Create two species Species species1 = new Species(0, agent1); species1.Members.Add(agent1); Species species2 = new Species(0, agent3); species2.Members.Add(agent3); Species species3 = new Species(0, agent2); for (int i = 0; i < 4; i++) { species1.Members.Add(new CustomAgent(populationManager, new Genome(), 50)); species2.Members.Add(new CustomAgent(populationManager, new Genome(), 50)); species3.Members.Add(new CustomAgent(populationManager, new Genome(), 50)); } List <Species> species = new List <Species>() { species1, species2, species3 }; List <Genome> bestGenomes = populationManager.GetBestGenomeForSpecies(species); Assert.AreEqual(2, bestGenomes.Count); Assert.AreEqual(agent1.Genome, bestGenomes[0]); Assert.AreEqual(agent3.Genome, bestGenomes[1]); }