public void FindTest()
        {
            var finder = FinderFactory.GetInstance();

            var result = finder.Find(
                new Waypoint("A", 10.0, 20.0),
                new Waypoint("B", 60.0, 150.0));

            for (int i = result.Count - 1; i >= 1; i--)
            {
                Assert.IsTrue(result[i].Distance(
                                  result[i - 1]) <= RandomRouteFinder.MaxLegDis);
            }
        }
        private Route GetRandRoute(IReadOnlyList <SubRoute> analyzed, int index)
        {
            var startEnd = GetStartEndWpts(analyzed, index);

            var randRoute = FinderFactory.GetInstance()
                            .Find(startEnd.Start, startEnd.End)
                            .ToRoute();

            // The first and last waypoint idents generated by the
            // random route are based on lat/lon and may be different
            // than expected.
            randRoute.Nodes.RemoveFirst();
            randRoute.AddFirstWaypoint(startEnd.Start, "DCT");

            randRoute.Nodes.RemoveLast();
            randRoute.AddLastWaypoint(startEnd.End, "DCT");

            return(randRoute);
        }