示例#1
0
    public void GetRandomAgentsBiasFitness_Test()
    {
        //Create agents
        AgentObject agent1 = new CustomAgent(populationManager, new Genome(), 100);
        AgentObject agent2 = new CustomAgent(populationManager, new Genome(), 300);

        //Create two species
        Species species1 = new Species(0, agent1);

        species1.Members.Add(agent1);
        species1.Members.Add(agent2);

        List <AgentObject> resultAgents = populationManager.GetRandomAgentsBiasFitness(1000, species1);

        //Count values
        int amountAgents1 = 0;
        int amountAgents2 = 0;

        for (int i = 0; i < resultAgents.Count; i++)
        {
            if (resultAgents[i] == agent1)
            {
                amountAgents1++;
            }
            if (resultAgents[i] == agent2)
            {
                amountAgents2++;
            }
        }

        Assert.AreEqual(1000, amountAgents1 + amountAgents2);
        Assert.GreaterOrEqual(amountAgents2, 600);
    }