public void ShouldPutOptionalRouteValuesAfterSameNamedOnes() { var valuesIn = new Dictionary<string, object> { { "controller", "foo" }, { "action", "bar" }, { "a", RouteParameter.Optional } }; var routeValues = new RouteValues(valuesIn); routeValues.Add(new RouteValue("a", "zzz", RouteValueOrigin.Params)); routeValues.Sort(); Assert.That(routeValues.Values[0].Name, Is.EqualTo("a")); Assert.That(routeValues.Values[1].Name, Is.EqualTo("a")); Assert.That(routeValues.Values[0].Value, Is.EqualTo("zzz")); Assert.That(routeValues.Values[1].Value, Is.EqualTo(RouteParameter.Optional)); }
private static RouteValues RouteValuesContainingId() { var values = new RouteValues(); var idValue = new RouteValue("Id", 42, RouteValueOrigin.Unknown); values.Add(idValue); return values; }
public void SameNamedValuesAreSortedByOrigin() { var routeValues = new RouteValues(); routeValues.Add(new RouteValue("a", "ccc", RouteValueOrigin.Params)); routeValues.Add(new RouteValue("a", "aaa", RouteValueOrigin.Body)); routeValues.Add(new RouteValue("a", "bbb", RouteValueOrigin.Path)); routeValues.Sort(); Assert.That(routeValues.Values[0].Name, Is.EqualTo("a")); Assert.That(routeValues.Values[1].Name, Is.EqualTo("a")); Assert.That(routeValues.Values[2].Name, Is.EqualTo("a")); Assert.That(routeValues.Values[0].Origin, Is.EqualTo(RouteValueOrigin.Path)); Assert.That(routeValues.Values[1].Origin, Is.EqualTo(RouteValueOrigin.Params)); Assert.That(routeValues.Values[2].Origin, Is.EqualTo(RouteValueOrigin.Body)); }