public void FixedStringBuilder_TryAppend_Rolls_Back_When_Capacity_Is_Reached_With_String_And_Reserve() { FixedStringBuilder target = new FixedStringBuilder(4); Assert.IsTrue(target.TryAppend("XX", 1, 0)); Assert.IsFalse(target.TryAppend("XX", 1, 0)); Assert.AreEqual(string.Empty, target.ToString()); }
public void FixedStringBuilder_TryAppend_Does_Not_Exceed_Capacity_With_Character() { FixedStringBuilder target = new FixedStringBuilder(1); Assert.IsTrue(target.TryAppend('X', 0)); Assert.IsFalse(target.TryAppend('X', 0)); Assert.AreEqual("X", target.ToString()); }
public void FixedStringBuilder_TryAppend_Does_Not_Exceed_Capacity_With_String_And_Reserve() { FixedStringBuilder target = new FixedStringBuilder(4); Assert.IsTrue(target.TryAppend("XX", 1)); Assert.IsFalse(target.TryAppend("XX", 1)); Assert.AreEqual("XX", target.ToString()); }
public void FixedStringBuilder_TryResize_Can_Always_Expand_Capacity() { FixedStringBuilder target = new FixedStringBuilder(1); Assert.IsTrue(target.TryAppend('X', 0)); Assert.IsTrue(target.TryResize(2, 0)); Assert.IsTrue(target.TryAppend('X', 0)); Assert.AreEqual("XX", target.ToString()); }
public void FixedStringBuilder_TryAppend_Does_Nothing_With_Null_Strings() { FixedStringBuilder target = new FixedStringBuilder(0); Assert.IsTrue(target.TryAppend(null, 0)); Assert.AreEqual(0, target.Length); Assert.IsTrue(target.TryAppend(null, 0, 0)); Assert.AreEqual(0, target.Length); }
public void FixedStringBuilder_Length_Returns_Current_Length() { FixedStringBuilder target = new FixedStringBuilder(2); Assert.AreEqual(0, target.Length); Assert.IsTrue(target.TryAppend('X', 0)); Assert.AreEqual(1, target.Length); Assert.IsTrue(target.TryAppend('X', 0)); Assert.AreEqual(2, target.Length); }
public void FixedStringBuilder_TryResize_Only_Reduces_Capacity_If_There_Is_Room() { FixedStringBuilder target = new FixedStringBuilder(3); Assert.IsTrue(target.TryAppend('X', 0)); Assert.IsTrue(target.TryAppend('X', 0)); Assert.IsFalse(target.TryResize(1, 0)); Assert.IsTrue(target.TryResize(2, 0)); Assert.AreEqual("XX", target.ToString()); }
public void FixedStringBuilder_TryExpand_Does_Nothing_If_Capacity_Is_Already_Larger() { FixedStringBuilder target = new FixedStringBuilder(3); Assert.IsTrue(target.TryAppend('X', 0)); Assert.IsFalse(target.TryExpand(2)); Assert.IsTrue(target.TryAppend('X', 0)); Assert.IsTrue(target.TryAppend('X', 0)); Assert.AreEqual("XXX", target.ToString()); }
public void FixedStringBuilder_TryAppend_Keeps_Rollback_When_Capacity_Is_Reached_With_Character_And_Reserve() { FixedStringBuilder target = new FixedStringBuilder(2); Assert.IsTrue(target.TryAppend('X', 1)); int actual = 0; Assert.IsFalse(target.TryAppend('X', 1, out actual)); Assert.AreEqual(1, actual); Assert.AreEqual("X", target.ToString()); }
public void FixedStringBuilder_TryAppend_Sets_Rollback_With_Character_And_Reserve() { FixedStringBuilder target = new FixedStringBuilder(3); Assert.IsTrue(target.TryAppend('X', 0)); int actual = 0; Assert.IsTrue(target.TryAppend('X', 1, out actual)); Assert.IsFalse(target.TryAppend('X', 1, actual)); Assert.AreEqual(1, actual); Assert.AreEqual("X", target.ToString()); }
public void FixedStringBuilder_Last_Returns_Last_Character() { FixedStringBuilder target = new FixedStringBuilder(2); Assert.IsTrue(target.TryAppend('X', 0)); Assert.AreEqual('X', target.Last); }
public void FixedStringBuilder_Clear_Resets_Builder() { FixedStringBuilder target = new FixedStringBuilder(1); Assert.IsTrue(target.TryAppend('X', 0)); Assert.AreEqual("X", target.ToString()); target.Clear(); Assert.AreEqual(string.Empty, target.ToString()); }
public void FixedStringBuilder_TryAppend_Rejects_Negative_Reserve() { FixedStringBuilder target = new FixedStringBuilder(2); try { target.TryAppend('X', -1); Assert.Fail(); } catch (ArgumentOutOfRangeException ex) { Assert.AreEqual(typeof(ArgumentOutOfRangeException), ex.GetType()); } try { target.TryAppend("XX", -1); Assert.Fail(); } catch (ArgumentOutOfRangeException ex) { Assert.AreEqual(typeof(ArgumentOutOfRangeException), ex.GetType()); } try { target.TryAppend('X', -1, 0); Assert.Fail(); } catch (ArgumentOutOfRangeException ex) { Assert.AreEqual(typeof(ArgumentOutOfRangeException), ex.GetType()); } try { target.TryAppend("XX", -1, 0); Assert.Fail(); } catch (ArgumentOutOfRangeException ex) { Assert.AreEqual(typeof(ArgumentOutOfRangeException), ex.GetType()); } }