aspnetcore/test/Microsoft.AspNetCore.Routin.../RouteValueEqualityComparerT...

42 lines
1.3 KiB
C#

// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Xunit;
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);
}
}
}