Example #1
0
        /// <summary>
        /// Computes differences.
        /// </summary>
        /// <param name="s1"></param>
        /// <param name="s2"></param>
        /// <param name="mode"></param>
        /// <returns></returns>
        public static DiffOutputText ComputeDifferences(string s1, string s2, DifferenceDisplayMode mode = DifferenceDisplayMode.PlainTextSeparated)
        {
            GoogleDMP.diff_match_patch dmp   = new GoogleDMP.diff_match_patch();
            List <GoogleDMP.Diff>      diffs = dmp.diff_main(s1, s2);

            if (diffs == null || (diffs.Count == 1 && diffs[0].operation == GoogleDMP.Operation.EQUAL))
            {
                return(new DiffOutputText {
                    NumberOfDifferences = 0
                });
            }

            return(new DifferenceDisplayerFactory(mode).Create().ShowDifferences(diffs));
        }
Example #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DifferenceDisplayerFactory"/> class.
 /// </summary>
 /// <param name="mode"></param>
 public DifferenceDisplayerFactory(DifferenceDisplayMode mode)
 {
     this.mode = mode;
 }