Example #1
0
        public void AttackEnemyShipsTest()
        {
            IStarShip myship               = ShipFactory.CreateShip(ShipType.Fighter, ShipConfigurationType.Light);
            IFleet    enemyfleet           = FleetFactory.CreateFleet(FleetConfigurationType.BalancedShips, BattleStratageyType.WeekShipsFirst);
            var       oTotalHealthAndArmor = enemyfleet.StarShips.Sum(x => x.Health) + enemyfleet.StarShips.Sum(x => x.Armor);

            //has random miss rate
            for (int i = 0; i < 100; i++)
            {
                myship.Attack(enemyfleet, BattleStratageyType.WeekShipsFirst);
            }

            var newTotalHealthAndArmor = enemyfleet.StarShips.Sum(x => x.Health) + enemyfleet.StarShips.Sum(x => x.Armor);
            var shipsDestroyed         = enemyfleet.StarShips.Where(x => x.Health == 0).ToList();

            Assert.True(oTotalHealthAndArmor > newTotalHealthAndArmor);
        }