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

            arr.Add(42);
            Assert.That(arr.ToList(), Is.EqualTo(new[] { 42 }));
        }
コード例 #2
0
        public void Add_MultipleTimes_EnumerableIsCorrect(int size)
        {
            var arr = new SpaceOptimalDynamicArray <int>();

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

            Assert.That(arr.ToList(), Is.EqualTo(Enumerable.Range(0, size)));
        }
コード例 #3
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);
        }
コード例 #4
0
        public void Ctor_EnumerableIsEmpty()
        {
            var arr = new SpaceOptimalDynamicArray <int>();

            Assert.That(arr.ToList(), Is.Empty);
        }