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

ArraysComparer

Comparator for two Arrays.
using System; namespace NUnit.Framework.Constraints.Comparers { internal class ArraysComparer : IChainComparer { private readonly NUnitEqualityComparer _equalityComparer; private readonly EnumerablesComparer _enumerablesComparer; internal ArraysComparer(NUnitEqualityComparer equalityComparer, EnumerablesComparer enumerablesComparer) { _equalityComparer = equalityComparer; _enumerablesComparer = enumerablesComparer; } public bool? Equal(object x, object y, ref Tolerance tolerance, bool topLevelComparison = true) { if (!x.GetType().IsArray || !y.GetType().IsArray || _equalityComparer.CompareAsCollection) return null; Array array = (Array)x; Array array2 = (Array)y; int rank = array.Rank; if (rank != array2.Rank) return false; for (int i = 1; i < rank; i++) { if (array.GetLength(i) != array2.GetLength(i)) return false; } return _enumerablesComparer.Equal(array, array2, ref tolerance, true); } } }