/// <summary> /// Compares two immutable arrays /// </summary> public override void CompareType(CompareParms parms) { //This should never happen, null check happens one level up if (parms.Object1 == null || parms.Object2 == null) { return; } parms.Object1 = ((IList)parms.Object1).Cast <object>().ToArray(); parms.Object2 = ((IList)parms.Object2).Cast <object>().ToArray(); _listComparer.CompareType(parms); }
/// <summary> /// Compare two objects that implement LINQ Enumerator /// </summary> public override void CompareType(CompareParms parms) { Type t1 = parms.Object1.GetType(); Type t2 = parms.Object2.GetType(); var l1 = TypeHelper.IsEnumerable(t1) ? ConvertEnumerableToList(parms.Object1) : parms.Object1; var l2 = TypeHelper.IsEnumerable(t2) ? ConvertEnumerableToList(parms.Object2) : parms.Object2; parms.Object1 = l1; parms.Object2 = l2; _compareIList.CompareType(parms); }