public void TestInput6()
        {
            IList <Route> routes = _graph.FindRoutes("C", "C").ToList();

            // C-D-C
            // C-E-B-C
            // C-D-E-B-C
            routes.Count.Should().Equals(3);

            routes.Count(a => a.Stops <= 3).Should().Equals(2);
        }
        public HttpResponseMessage Get(string source, string destination)
        {
            var routes = _service.FindRoutes(source, destination).ToList();

            if (!routes.Any())
            {
                return(Request.CreateResponse("NO SUCH ROUTE"));
            }

            // sort by shortest to longest
            routes = routes.OrderBy(r => r.Distance).ToList();

            var message = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(System.Web.Helpers.Json.Encode(routes))
            };

            return(message);
        }