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 })); }
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 } } }); }
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 }); }