File: RouteValueEqualityComparerTest.cs
Web Access
Project: src\src\Http\Routing\test\UnitTests\Microsoft.AspNetCore.Routing.Tests.csproj (Microsoft.AspNetCore.Routing.Tests)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
namespace Microsoft.AspNetCore.Routing;
 
public class RouteValueEqualityComparerTest
{
    private readonly RouteValueEqualityComparer _comparer;
 
    public RouteValueEqualityComparerTest()
    {
        _comparer = new RouteValueEqualityComparer();
    }
 
    [Theory]
    [InlineData(5, 7, false)]
    [InlineData("foo", "foo", true)]
    [InlineData("foo", "FoO", true)]
    [InlineData("foo", "boo", false)]
    [InlineData("7", 7, true)]
    [InlineData(7, "7", true)]
    [InlineData(5.7d, 5.7d, true)]
    [InlineData(null, null, true)]
    [InlineData(null, "foo", false)]
    [InlineData("foo", null, false)]
    [InlineData(null, "", true)]
    [InlineData("", null, true)]
    [InlineData("", "", true)]
    [InlineData("", "foo", false)]
    [InlineData("foo", "", false)]
    [InlineData(true, true, true)]
    [InlineData(true, false, false)]
    public void EqualsTest(object x, object y, bool expected)
    {
        var actual = _comparer.Equals(x, y);
        Assert.Equal(expected, actual);
    }
}