Inheritance: UCosmic.Www.Mvc.Controllers.MvcRoute
            public void Inbound_WithNonPost_AndPositiveNumber_MapsToNothing()
            {
                const int    number      = 4;
                var          routeUrl    = new UpdateEmailValueRouter.ValidateValueRoute().Url;
                const string numberParam = "number";
                var          urlFormat   = routeUrl.Replace(numberParam, "0");
                var          url         = string.Format(urlFormat, number).ToAppRelativeUrl();

                url.WithMethodsExcept(HttpVerbs.Post).ShouldMapToNothing();
            }
            public void Inbound_WithPost_AndPositiveNumber_MapsToPostAction()
            {
                const int number = 3;
                Expression <Func <UpdateEmailValueController, ActionResult> > action =
                    controller => controller.ValidateValue(null);
                var          routeUrl    = new UpdateEmailValueRouter.ValidateValueRoute().Url;
                const string numberParam = "number";
                var          urlFormat   = routeUrl.Replace(numberParam, "0");
                var          url         = string.Format(urlFormat, number).ToAppRelativeUrl();

                url.WithMethod(HttpVerbs.Post).ShouldMapTo(action);
            }
            public void Outbound_ForPostAction_AndPositiveNumber_MapsToUrl()
            {
                const int number = 6;
                Expression <Func <UpdateEmailValueController, ActionResult> > action =
                    controller => controller.ValidateValue(null);
                var          routeUrl    = new UpdateEmailValueRouter.ValidateValueRoute().Url;
                const string numberParam = "number";
                var          urlFormat   = routeUrl.Replace(numberParam, "0");
                var          url         = string.Format(urlFormat, number).ToAppRelativeUrl();

                OutBoundRoute.Of(action).InArea(AreaName).WithMethod(HttpVerbs.Post)
                .HavingViewModelProperty(numberParam, number).AppRelativeUrl().ShouldEqual(url);
            }
            public void Outbound_ForPostAction_AndPositiveNumber_MapsToUrl()
            {
                const int number = 6;
                Expression<Func<UpdateEmailValueController, ActionResult>> action =
                    controller => controller.ValidateValue(null);
                var routeUrl = new UpdateEmailValueRouter.ValidateValueRoute().Url;
                const string numberParam = "number";
                var urlFormat = routeUrl.Replace(numberParam, "0");
                var url = string.Format(urlFormat, number).ToAppRelativeUrl();

                OutBoundRoute.Of(action).InArea(AreaName).WithMethod(HttpVerbs.Post)
                    .HavingViewModelProperty(numberParam, number).AppRelativeUrl().ShouldEqual(url);
            }
            public void Inbound_WithNonPost_AndPositiveNumber_MapsToNothing()
            {
                const int number = 4;
                var routeUrl = new UpdateEmailValueRouter.ValidateValueRoute().Url;
                const string numberParam = "number";
                var urlFormat = routeUrl.Replace(numberParam, "0");
                var url = string.Format(urlFormat, number).ToAppRelativeUrl();

                url.WithMethodsExcept(HttpVerbs.Post).ShouldMapToNothing();
            }
            public void Inbound_WithPost_AndPositiveNumber_MapsToPostAction()
            {
                const int number = 3;
                Expression<Func<UpdateEmailValueController, ActionResult>> action =
                    controller => controller.ValidateValue(null);
                var routeUrl = new UpdateEmailValueRouter.ValidateValueRoute().Url;
                const string numberParam = "number";
                var urlFormat = routeUrl.Replace(numberParam, "0");
                var url = string.Format(urlFormat, number).ToAppRelativeUrl();

                url.WithMethod(HttpVerbs.Post).ShouldMapTo(action);
            }