AioNet/AioNet.ReflectionTest/DeepComparisonTest.cs

90 lines
1.9 KiB
C#
Raw Normal View History

2024-05-11 15:18:32 +02:00
using System.Drawing;
using AioNet.Reflection;
namespace AioNet.ReflectionTest;
public class DeepComparisonTest
{
[Fact]
public void IntComparison()
{
Assert.True(1.RecursiveFieldsEqual(1));
}
[Fact]
public void IntFalseComparison()
{
Assert.False(1.RecursiveFieldsEqual(2));
}
[Fact]
public void StringComparison()
{
Assert.True("some string".RecursiveFieldsEqual("some string"));
}
[Fact]
public void StringFalseComparison()
{
Assert.False("some string".RecursiveFieldsEqual("some-string"));
}
[Fact]
public void NullComparison()
{
Assert.True(DeepComparison.RecursiveFieldsEqual<string>(null, null));
}
[Fact]
public void NullFirstFalseComparison()
{
Assert.False(DeepComparison.RecursiveFieldsEqual(null, "some-string"));
}
[Fact]
public void NullSecondFalseComparison()
{
Assert.False("some string".RecursiveFieldsEqual(null));
}
[Fact]
public void TupleComparison()
{
Assert.True((1, "true").RecursiveFieldsEqual((1, "true")));
}
[Fact]
public void TupleFalseComparison()
{
Assert.False((1, "true").RecursiveFieldsEqual((1, "truo")));
}
[Fact]
public void PointComparison()
{
Point point1 = new Point { X = 55, Y = 99 };
Point point2 = new Point { X = 55, Y = 99 };
Assert.True(point1.RecursiveFieldsEqual(point2));
}
[Fact]
public void PointFalseComparison()
{
Point point1 = new Point { X = 55, Y = 99 };
Point point2 = new Point { X = 55, Y = 91 };
Assert.False(point1.RecursiveFieldsEqual(point2));
}
[Fact]
public void ArrayComparison()
{
int[] x = new[] { 1, 2, 3 };
int[] y = new[] { 1, 2, 3 };
Assert.True(x.RecursiveFieldsEqual(y));
}
}