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