public static IEnumerable <DiffSection> CalculateSections <T>([NotNull] IList <T> collection1, [NotNull] IList <T> collection2, [CanBeNull] IEqualityComparer <T> comparer = null) { if (collection1 == null) { throw new ArgumentNullException(nameof(collection1)); } if (collection2 == null) { throw new ArgumentNullException(nameof(collection2)); } return(LongestCommonSubsectionDiff.Calculate(collection1, collection2, comparer ?? EqualityComparer <T> .Default)); }
public static IEnumerable <DiffSection> CalculateSections <T>([NotNull] IList <T> collection1, [NotNull] IList <T> collection2, [CanBeNull] DiffOptions options, [CanBeNull] IEqualityComparer <T> comparer = null) { if (collection1 == null) { throw new ArgumentNullException(nameof(collection1)); } if (collection2 == null) { throw new ArgumentNullException(nameof(collection2)); } comparer = comparer ?? EqualityComparer <T> .Default; Assume.That(comparer != null); options = options ?? new DiffOptions(); return(LongestCommonSubsectionDiff.Calculate(collection1, collection2, options, comparer)); }