private void TestStrings(string s1, string s2, string Expected) { EditScript <char> Script = Difference.AnalyzeStrings(s1, s2); StringBuilder sb = new StringBuilder(); foreach (Step <char> Step in Script.Steps) { switch (Step.Operation) { case EditOperation.Keep: this.Append <char>(sb, Step.Symbols, string.Empty, string.Empty); break; case EditOperation.Insert: sb.Append("__"); this.Append <char>(sb, Step.Symbols, string.Empty, string.Empty); sb.Append("__"); break; case EditOperation.Delete: sb.Append("~~"); this.Append <char>(sb, Step.Symbols, string.Empty, string.Empty); sb.Append("~~"); break; } } string Result = sb.ToString(); Assert.AreEqual <string>(Expected, Result); }