Exemplo n.º 1
0
        public void GivenListOf4PlayerSeedsAndEmptyList_WhenGeneratePlayerStartingFood_ThenReturnListOfFood()
        {
            var positions = new List <Position>();

            for (var i = 0; i < EngineConfigFake.Value.BotCount; i++)
            {
                positions.Add(
                    VectorCalculatorService.GetNewPlayerStartingPosition(
                        i,
                        EngineConfigFake.Value.BotCount,
                        EngineConfigFake.Value.StartRadius));
            }

            var playerSeeds = new List <int>
            {
                12354789,
                58228,
                656846,
                7108040
            };

            List <GameObject> foodList = worldObjectGenerationService.GeneratePlayerStartingFood(playerSeeds, new List <GameObject>());

            for (int i = 0; i < foodList.Count; i++)
            {
                var playerIndex     = (int)Math.Floor((double)i / EngineConfigFake.Value.WorldFood.PlayerSafeFood);
                var distanceBetween = VectorCalculatorService.GetDistanceBetween(positions[playerIndex], foodList[i].Position);
                Assert.IsTrue(
                    EngineConfigFake.Value.StartingPlayerSize + EngineConfigFake.Value.WorldFood.MinSeparation <= distanceBetween);
                Assert.IsTrue(distanceBetween <= EngineConfigFake.Value.WorldFood.MaxSeparation);
            }

            Assert.AreEqual(EngineConfigFake.Value.WorldFood.PlayerSafeFood * EngineConfigFake.Value.BotCount, foodList.Count);
        }