public CompareResultSet Clone() { var clone = new CompareResultSet(); foreach (var kvp in this) { clone[kvp.Key] = kvp.Value.Clone(); } return(clone); }
public CompareResultSet CompareAll() { var result = new CompareResultSet(); foreach (var comparer in this.comparerList) { var comparisonResult = Compare(comparer); result[comparer.EntityName] = comparisonResult; } return(result); }
public CompareResultSet CompareAll(CompareResultSet previousResults, IReadOnlyCollection <string> entitiesToCompare) { if (previousResults is null) { throw new ArgumentNullException(nameof(previousResults)); } if (entitiesToCompare is null) { throw new ArgumentNullException(nameof(entitiesToCompare)); } var result = previousResults.Clone(); foreach (var comparer in this.comparerList.Where(c => entitiesToCompare.Contains(c.EntityName))) { var comparisonResult = Compare(comparer); result[comparer.EntityName] = comparisonResult; } return(result); }