Example #1
0
        public void WithConstraint_Custom_Typical()
        {
            var route = Route("u");

            route.Constraints.Should().NotBeNull();
            var constraint = new FakeConstraint();

            var actual = route.WithConstraint("key", constraint);

            actual.Should().BeSameAs(route);
            actual.ShouldBeEquivalentTo(Route("u", constraints: new { key = constraint }));
        }
Example #2
0
        public void WithConstraint_Custom_NullConstraints()
        {
            var route = new Route("u", null);

            route.Constraints.Should().BeNull();
            var constraint = new FakeConstraint();

            var actual = route.WithConstraint("key", constraint);

            actual.Should().BeSameAs(route);
            actual.ShouldBeEquivalentTo(new Route("u", null)
            {
                Constraints = new RouteValueDictionary {
                    { "key", constraint }
                }
            });
        }
Example #3
0
        public void Parameters_Constraints()
        {
            var c0 = new FakeConstraint();
            var c1 = new FakeConstraint();
            var c2 = new FakeConstraint();

            Routes.Map <RootController>(root =>
            {
                root.Parameter("p0").WithConstraint(c0)
                .Parameter("p1").WithConstraint(c1).IsController <XController>(x =>
                {
                    x.Parameter("p2").WithConstraint(c2).IsAction("A");
                });
            });

            Routes.Should().HaveCount(1);
            Routes["X.A"].ShouldBeRoute("{p0}/{p1}/{p2}", "X", "A", constraints: new
            {
                p0 = c0,
                p1 = c1,
                p2 = c2
            });
        }