public void ShouldSortValuesAlphabeticallyByName() { var valuesIn = new Dictionary<string, string> { { "controller", "foo" }, { "action", "bar" }, { "z", "a" }, { "b", "b" }, { "a", "z" } }; var routeValues = new RouteValues(valuesIn); routeValues.Sort(); Assert.That(routeValues.Values[0].Name, Is.EqualTo("a")); Assert.That(routeValues.Values[1].Name, Is.EqualTo("b")); Assert.That(routeValues.Values[2].Name, Is.EqualTo("z")); }
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)); }
public void ShouldPutOptionalRouteValuesinPlace() { var valuesIn = new Dictionary<string, object> { { "controller", "foo" }, { "action", "bar" }, { "z", "a" }, { "b", "b" }, { "a", RouteParameter.Optional } }; var routeValues = new RouteValues(valuesIn); routeValues.Sort(); Assert.That(routeValues.Values[0].Name, Is.EqualTo("a")); Assert.That(routeValues.Values[1].Name, Is.EqualTo("b")); Assert.That(routeValues.Values[2].Name, Is.EqualTo("z")); }
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)); }