mirror of
https://onedev.fprog.nl/AioNet
synced 2025-12-21 10:38:37 +01:00
90 lines
1.9 KiB
C#
90 lines
1.9 KiB
C#
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));
|
|
}
|
|
}
|