public void MarketRule_IsSatisfied_When_No_Other_Markets() { //add randomly 100 residences IRoad road = _settlement.Roads.First(); var market = new Market() { Position = new Point(50, 51) }; market.Road = road; _settlement.AddBuildingToRoad(road, market); while (_settlement.Roads.SelectMany(g => g.Buildings).Count() < 120) { var buildingPositions = road.GetPossibleBuildingPositions(new PossibleBuildingPositions(_settlement.Roads, _settlement.Fields)); if (!buildingPositions.Any()) { continue; } var building = new Residence { Position = buildingPositions[RandomProvider.Next(buildingPositions.Count)] }; building.Road = road; _settlement.AddBuildingToRoad(road, building); } Assert.AreEqual(5, market.CalculateFitness(new BuildingRule() { BuildingRoad = road, Fields = _settlement.Fields, Roads = _settlement.Roads, SettlementCenter = _settlement.SettlementCenter })); }