public async Task Population_Is_Not_Consistent()
        {
            var gameServiceMock = new Mock <IGameService>();

            var populationService = new PopulationService(gameServiceMock.Object);

            var players = new List <Player>();

            for (int i = 0; i < 10; i++)
            {
                players.Add(new Player()
                {
                    StrategyId = "1"
                });
            }
            players.Add(new Player()
            {
                StrategyId = "2"
            });

            bool isConsistent = await populationService.IsPopulationConsistent(new Population()
            {
                Players = players
            });

            Assert.IsFalse(isConsistent);
        }
        public async Task New_Population_Players_Count_Did_Not_Change()
        {
            var gameServiceMock = new Mock <IGameService>();

            var populationService = new PopulationService(gameServiceMock.Object);

            var players = new List <Player>();

            for (int i = 0; i < 9; i++)
            {
                players.Add(new Player()
                {
                    StrategyId = "1", Score = 21
                });
            }
            players.Add(new Player()
            {
                StrategyId = "2", Score = 20
            });

            Population population = await populationService.GetNewPopulation(new Population()
            {
                Players = players
            });

            bool isConsistent = await populationService.IsPopulationConsistent(population);

            Assert.IsTrue(isConsistent);
            Assert.AreEqual(players.Count, population.Players.Count);
        }