public void testEnsurePathCapacityFastCase()
        {
            FakeTreeIterator i = new FakeTreeIterator("ab", FileMode.Tree);
            int want = 50;
            byte[] origpath = i.Path;
            Assert.AreEqual(i.Path[0], 'a');
            Assert.AreEqual(i.Path[1], 'b');
            Assert.IsTrue(want < i.Path.Length);

            i.ensurePathCapacity(want, 2);

            Assert.AreSame(origpath, i.Path);
            Assert.AreEqual(i.Path[0], 'a');
            Assert.AreEqual(i.Path[1], 'b');
        }
        public void testEnsurePathCapacityFastCase()
        {
            FakeTreeIterator i = new FakeTreeIterator("ab", FileMode.Tree);
            int want           = 50;

            byte[] origpath = i.Path;
            Assert.AreEqual(i.Path[0], 'a');
            Assert.AreEqual(i.Path[1], 'b');
            Assert.IsTrue(want < i.Path.Length);

            i.ensurePathCapacity(want, 2);

            Assert.AreSame(origpath, i.Path);
            Assert.AreEqual(i.Path[0], 'a');
            Assert.AreEqual(i.Path[1], 'b');
        }
        public void testEnsurePathCapacityGrows()
        {
            FakeTreeIterator i = new FakeTreeIterator("ab", FileMode.Tree);
            int want           = 384;

            byte[] origpath = i.Path;
            Assert.AreEqual(i.Path[0], 'a');
            Assert.AreEqual(i.Path[1], 'b');
            Assert.IsTrue(i.Path.Length < want);

            i.ensurePathCapacity(want, 2);

            Assert.AreNotSame(origpath, i.Path);
            Assert.AreEqual(512, i.Path.Length);
            Assert.AreEqual(i.Path[0], 'a');
            Assert.AreEqual(i.Path[1], 'b');
        }
	    public void testEnsurePathCapacityGrows()
	    {
			FakeTreeIterator i = new FakeTreeIterator("ab", FileMode.Tree);
			int want = 384;
	        byte[] origpath = i.Path;
	        Assert.AreEqual(i.Path[0], 'a');
	        Assert.AreEqual(i.Path[1], 'b');
	        Assert.IsTrue(i.Path.Length < want);
	
			i.ensurePathCapacity(want, 2);
	
	        Assert.AreNotSame(origpath, i.Path);
	        Assert.AreEqual(512, i.Path.Length);
	        Assert.AreEqual(i.Path[0], 'a');
	        Assert.AreEqual(i.Path[1], 'b');
		}