public void TestCorruptStrings() { var chars = new char[char.MaxValue]; for (var i = char.MinValue; i < chars.Length; i++) { chars[i] = i; } var str = new string(chars); var sb = new StringHelper.LiteStringBuilder(); sb.Append(chars); Assert.AreEqual(sb.ToString(), str); Assert.AreEqual(sb.Length, str.Length); Assert.AreEqual(sb.ToString().Length, sb.Length); sb.Clear(); var singleByteString = "s"; var doubleByteString = "ß"; var quadByteString = "𝟘"; sb.Append(singleByteString); Assert.AreEqual(sb.ToString(), singleByteString); sb.Append(doubleByteString); Assert.AreEqual(sb.ToString(), singleByteString + doubleByteString); sb.Append(quadByteString); Assert.AreEqual(sb.ToString(), singleByteString + doubleByteString + quadByteString); }
public void TestClear() { var sb = new StringHelper.LiteStringBuilder(); Assert.IsTrue(sb.IsEmpty()); sb.Append("Hello"); Assert.IsFalse(sb.IsEmpty()); Assert.AreEqual(sb.ToString(), "Hello"); sb.Clear(); Assert.IsTrue(sb.IsEmpty()); Assert.AreEqual(sb.ToString(), ""); }