Example #1
0
        public void RunElasticArray()
        {
            var array = new ElasticArray <int>(128);

            for (int i = 0; i < Size; i++)
            {
                array.Add(_nums[i]);
            }

            array.Sort();
        }
Example #2
0
        public void Add_tests()
        {
            var size  = 100;
            var array = new ElasticArray <int>(size);

            for (int i = 0; i < size; i++)
            {
                array.Add(i * 2);
            }

            Assert.Equal(size, array.Count);
            Assert.Equal(2 * 5, array[5]);
            array[5] = 5;
            Assert.Equal(5, array[5]);

            for (int i = 0; i < size / 2; i++)
            {
                array.Add(i * 3);
            }

            Assert.Equal(size + size / 2, array.Count);
            Assert.Equal(2 * size, array.Size);
        }
Example #3
0
        public void IndexOutOfBound()
        {
            var size  = 100;
            var array = new ElasticArray <int>(size);

            for (int i = 0; i < size / 2; i++)
            {
                array.Add(i * 2);
            }

            Assert.Throws <IndexOutOfRangeException>(() => array[size / 2 + 1]);
            Assert.Throws <IndexOutOfRangeException>(() => array[-1]);
            Assert.Throws <IndexOutOfRangeException>(() => array[size / 2 + 1] = 33);
            Assert.Throws <IndexOutOfRangeException>(() => array[-1]           = 33);
        }
Example #4
0
        public void Sort_search()
        {
            var rand  = new Random();
            var size  = 100;
            var array = new ElasticArray <int>(size);

            for (int i = 0; i < size; i++)
            {
                array.Add(rand.Next());
            }

            array.Sort();
            for (int i = 1; i < size; i++)
            {
                Assert.True(array[i - 1] <= array[i]);
            }

            var x = array[5];

            Assert.Equal(5, array.BinarySearch(x));
        }