public void Equals_Negative() { var a = new RouteQueryParameter() { Name = "foo", Mode = QueryParameterMatchMode.Exists, Values = new[] { "v1", "v2" }, IsCaseSensitive = true, }; var b = a with { Name = "bar" }; var c = a with { Mode = QueryParameterMatchMode.Exact }; var d = a with { Values = new[] { "v1", "v3" } }; var e = a with { IsCaseSensitive = false }; Assert.False(a.Equals(b)); Assert.False(a.Equals(c)); Assert.False(a.Equals(d)); Assert.False(a.Equals(e)); }
public async Task Rejects_InvalidRouteQueryParameter(string name, string value, QueryParameterMatchMode mode, string error) { var routeQueryParameter = new RouteQueryParameter() { Name = name, Mode = mode, Values = value == null ? null : new[] { value }, }; var route = new RouteConfig { RouteId = "route1", Match = new RouteMatch { Path = "/", QueryParameters = new[] { routeQueryParameter }, }, ClusterId = "cluster1", }; var services = CreateServices(); var validator = services.GetRequiredService <IConfigValidator>(); var result = await validator.ValidateRouteAsync(route); var ex = Assert.Single(result); Assert.Contains(error, ex.Message); }
public void Equals_Positive(bool isCaseSensitive) { var a = new RouteQueryParameter() { Name = "foo", Mode = QueryParameterMatchMode.Exists, Values = new[] { "v1", "v2" }, IsCaseSensitive = isCaseSensitive, }; var b = new RouteQueryParameter() { Name = "Foo", Mode = QueryParameterMatchMode.Exists, Values = new[] { "v1", "v2" }, IsCaseSensitive = isCaseSensitive, }; var c = a with { }; // Clone Assert.True(a.Equals(b)); Assert.True(a.Equals(c)); Assert.Equal(a.GetHashCode(), b.GetHashCode()); Assert.Equal(a.GetHashCode(), c.GetHashCode()); }