<PackageReference Include="NUnit" Version="4.1.0" />

ArraysComparer

static class ArraysComparer
Comparator for two Arrays.
using System; using System.Runtime.CompilerServices; namespace NUnit.Framework.Constraints.Comparers { internal static class ArraysComparer { [System.Runtime.CompilerServices.NullableContext(1)] public static EqualMethodResult Equal(object x, object y, ref Tolerance tolerance, ComparisonState state, NUnitEqualityComparer equalityComparer) { if (!x.GetType().IsArray || !y.GetType().IsArray || equalityComparer.CompareAsCollection) return EqualMethodResult.TypesNotSupported; Array array = (Array)x; Array array2 = (Array)y; int rank = array.Rank; if (rank != array2.Rank) return EqualMethodResult.ComparedNotEqual; for (int i = 1; i < rank; i++) { if (array.GetLength(i) != array2.GetLength(i)) return EqualMethodResult.ComparedNotEqual; } return EnumerablesComparer.Equal(array, array2, ref tolerance, state, equalityComparer); } } }