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);
        }