public void Init()
        {
            _routeProposal = new PatrolRouteProposal(_map, new XYZ(0, 0, 0), path => { });
            var builder = new LayerBuilder(3, 3);

            builder.PutFloor(new XY(0, 0), new XY(2, 2));
            _map.Add(_layer = builder.Build());
        }
        public void PatrolRouteProposal_ConstructedWithPatrolRoute_UsesRoute()
        {
            var oldRoute = new PatrolRoute(new Path(new XYZ(0, 1, 0)), new Path(new XYZ(0, 0, 0)));
            var proposal = new PatrolRouteProposal(_map, oldRoute, path => { });

            var newRoute = proposal.Finalize();

            new RouteComparison(oldRoute, newRoute).EnsureMatches();
        }
        public void PatrolRouteProposal_AddNodeToExistingRoute_SegmentAddedCorrectly()
        {
            var oldRoute = new PatrolRoute(new Path(new XYZ(0, 0, 0), new XYZ(0, 1, 0)));
            var proposal = new PatrolRouteProposal(_map, oldRoute, path => { });

            proposal.AddPathToDestination(new XYZ(0, 2, 0));

            var route = proposal.Finalize();

            AssertRouteOrginsMatch(new List <XYZ> {
                new XYZ(0, 0, 0), new XYZ(0, 1, 0), new XYZ(0, 2, 0),
                new XYZ(0, 1, 0)
            }, route);
        }