public void ReplaceTest() { var sb = new StringBuilder(); var fsb = new FormattedStringBuilder(); sb.Append("ashgilassfianvlaih"); fsb.Append("ashgilassfianvlaih"); sb.Replace('a', 'b'); fsb.Replace('a', 'b'); Assert.AreEqual(fsb.ToFormattedString().Text, sb.ToString()); sb.Clear(); fsb.Clear(); sb.Append("aaaaaaaaaaaaaaaaaaaaaaaaa"); fsb.Append("aaaaaaaaaaaaaaaaaaaaaaaaa"); sb.Replace('a', 'b', 2, 4); fsb.Replace('a', 'b', 2, 4); Assert.AreEqual(fsb.ToFormattedString().Text, sb.ToString()); sb.Clear(); fsb.Clear(); sb.Append("aaaaaaaaaaaaaaaaaaaaaaaaa"); fsb.Append("aaaaaaaaaaaaaaaaaaaaaaaaa"); sb.Replace("a", "[]"); fsb.Replace("a", "[]"); Assert.AreEqual(fsb.ToFormattedString().Text, sb.ToString()); Assert.AreEqual(fsb.Length, sb.Length); sb.Replace("[]", "a"); fsb.Replace("[]", "a"); Assert.AreEqual(fsb.ToFormattedString().Text, sb.ToString()); Assert.AreEqual(fsb.Length, sb.Length); sb.Replace("aaa", "b"); fsb.Replace("aaa", "b"); Assert.AreEqual(fsb.ToFormattedString().Text, sb.ToString()); Assert.AreEqual(fsb.Length, sb.Length); sb.Replace("b", "a", 1, 2); fsb.Replace("b", "a", 1, 2); Assert.AreEqual(fsb.ToFormattedString().Text, sb.ToString()); Assert.AreEqual(fsb.Length, sb.Length); sb.Replace("a", ""); fsb.Replace("a", ""); Assert.AreEqual(fsb.ToFormattedString().Text, sb.ToString()); Assert.AreEqual(fsb.Length, sb.Length); sb.Clear(); fsb.Clear(); sb.Append("aaaaaaaaaaaaaaaaaaaaaaaaa"); fsb.Append("aaaaaaaaaaaaaaaaaaaaaaaaa"); sb.Replace("c", "[]"); fsb.Replace("c", "[]"); Assert.AreEqual(fsb.ToFormattedString().Text, sb.ToString()); Assert.AreEqual(fsb.Length, sb.Length); }