internal static void HasRoute(HttpConfiguration config, string url, HttpMethod httpMethod, string body, IDictionary<string, string> expectedProps)
        {
            var absoluteUrl = UrlHelpers.MakeAbsolute(url);
            var actualProps = ReadRequestProperties(config, absoluteUrl, httpMethod, body);

            var verifier = new Verifier();
            verifier.VerifyExpectations(expectedProps, actualProps, url);
        }
        internal static void HasRoute(RouteCollection routes, HttpMethod method, string url, string body, IDictionary<string, string> expectedProps)
        {
            var pathUrl = UrlHelpers.PrependTilde(url);
            var httpContext = HttpMockery.ContextForUrl(method, pathUrl, body);
            var routeData = routes.GetRouteData(httpContext);

            if (routeData == null)
            {
                var message = string.Format("Should have found the route to '{0}'", url);
                Asserts.Fail(message);
            }

            var webRouteReader = new Reader();
            var actualProps = webRouteReader.GetRequestProperties(routeData, httpContext.Request);
            var verifier = new Verifier();
            verifier.VerifyExpectations(expectedProps, actualProps, url);
        }