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); }