public void PortRule_Is_Not_Satisfied_When_There_Is_Other_Port() { IRoad road1 = _settlement.Roads.First(); var roadGenerator = new RoadPointsGenerator(); var road2 = new Road(roadGenerator.GenerateStraight(new RoadGenerationTwoPoints() { Start = new Point(50, 51), End = new Point(50, 10), Fields = _settlement.Fields })); _settlement.AddRoad(road2); var port = new Port() { Position = new Point(51, 10) }; var exitingPort = new Port() { Position = new Point(49, 10) }; exitingPort.Road = road2; _settlement.AddBuildingToRoad(road2, exitingPort); Assert.AreEqual(0, port.CalculateFitness(new BuildingRule() { BuildingRoad = road1, Fields = _settlement.Fields, Roads = _settlement.Roads, SettlementCenter = _settlement.SettlementCenter })); }
public void PortRule_Is_Not_Satisfied_When_Distance_To_Water_Is_Greater_Than_10_Pixels() { var road1 = _settlement.Roads.First(); var roadGenerator = new RoadPointsGenerator(); var road2 = new Road(roadGenerator.GenerateStraight(new RoadGenerationTwoPoints() { Start = new Point(50, 51), End = new Point(50, 10), Fields = _settlement.Fields })); _settlement.AddRoad(road2); var port = new Port() { Position = new Point(51, 25) }; Assert.AreEqual(0, port.CalculateFitness(new BuildingRule() { BuildingRoad = road1, Fields = _settlement.Fields, Roads = _settlement.Roads, SettlementCenter = _settlement.SettlementCenter })); }