コード例 #1
0
        public void Shrink_All_CountIsZero(int size)
        {
            var arr = new SpaceOptimalDynamicArray <int>();

            for (var i = 0; i < size; i++)
            {
                arr.Add(i);
            }

            for (var i = 0; i < size; i++)
            {
                arr.Shrink();
            }

            Assert.That(arr.Count, Is.Zero);
        }
コード例 #2
0
        public void GrowToThousandAndShrinkAgain()
        {
            var arr = new SpaceOptimalDynamicArray <int>();

            for (var i = 0; i < 1000; i++)
            {
                arr.Grow();
                arr[i] = i;
            }

            for (var i = 0; i < 1000; i++)
            {
                Assert.That(arr[i], Is.EqualTo(i));
            }

            Assert.That(arr.ToList(), Is.EqualTo(Enumerable.Range(0, 1000)));

            for (var i = 0; i < 1000; i++)
            {
                arr.Shrink();
            }

            Assert.That(arr.Count, Is.Zero);
        }
コード例 #3
0
        public void Shrink_Empty_Throws()
        {
            var arr = new SpaceOptimalDynamicArray <int>();

            Assert.That(() => arr.Shrink(), Throws.InvalidOperationException);
        }