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_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_TryResize_Rejects_Negative_Reserve()
        {
            FixedStringBuilder target = new FixedStringBuilder(1);

            try
            {
                target.TryResize(0, -1);
                Assert.Fail();
            }
            catch (ArgumentOutOfRangeException ex)
            {
                Assert.AreEqual(typeof(ArgumentOutOfRangeException), ex.GetType());
            }
        }