public PatternTestResults(PatternTestResults source) : this()
 {
     foreach (var summary in source.CleanPatternSummaries)
     {
         PatternSummaries.Add(summary.Clone());
     }
 }
        public void Merge(PatternTestResults sourceResults)
        {
            Log.AddRange(sourceResults.Log);

            for (int i = 0; i < sourceResults.PatternSummaries.Count; i++)
            {
                var sourceSummary  = sourceResults.PatternSummaries[i];
                var _targetSummary = PatternSummaries.Where(n => n.PatternName == sourceSummary.PatternName).FirstOrDefault();

                if (_targetSummary == null)
                {
                    PatternSummaries.Add(sourceSummary);
                    continue;
                }

                _targetSummary.Merge(sourceSummary);
            }
        }