/// <summary>
 /// Returns data about the url associated with the route (outbound request)
 /// </summary>
 /// <param name="requestContext">Context data about the requested route</param>
 /// <param name="values">The route values</param>
 /// <returns>Url data</returns>
 public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values)
 {
     if (null != values)
     {
         values.Encode();
     }
     return base.GetVirtualPath(requestContext, values);
 }
        public void ShouldEncodeAllValues()
        {
            RouteValueDictionary expected = new RouteValueDictionary(new {
                controller = "this-controller",
                action = "this-action",
                argument1 = "this-argument",
                argument2 = 3
            });

            RouteValueDictionary actual = new RouteValueDictionary(new {
                controller = "This Controller",
                action = "This Action",
                argument1 = "This Argument",
                argument2 = 3
            });

            actual.Encode();
            RoutingAssert.AreDictionariesEqual(expected, actual);
        }