public void Test_add_and_clear()
        {
            MyDynamicArray <int> arr = new MyDynamicArray <int>();

            for (int i = 0; i < 100; i++)
            {
                arr.Add(i);
            }
            arr.Clear();

            Assert.True(arr.IsEmpty());

            for (int i = 0; i < 1000; i++)
            {
                arr.Add(i);
            }
            arr.Clear();

            Assert.True(arr.IsEmpty());

            for (int i = 0; i < 10000; i++)
            {
                arr.Add(i);
            }
            arr.Clear();

            Assert.True(arr.IsEmpty());
        }
 // Private helper methods for testing
 private void FillDynamicArray <T>(MyDynamicArray <T> arr, int length, T val)
 {
     for (int i = 0; i < length; i++)
     {
         arr.Add(val);
     }
 }
        public void Test_add_and_remove()
        {
            MyDynamicArray <int> arr = new MyDynamicArray <int>();

            for (int i = 0; i < 100; i++)
            {
                arr.Add(i);
            }
            for (int i = 0; i < 100; i++)
            {
                arr.Remove(i);
            }

            Assert.True(arr.IsEmpty());


            for (int i = 0; i < 1000; i++)
            {
                arr.Add(i);
            }
            for (int i = 0; i < 1000; i++)
            {
                arr.Remove(i);
            }

            Assert.True(arr.IsEmpty());


            for (int i = 0; i < 10000; i++)
            {
                arr.Add(i);
            }
            for (int i = 0; i < 10000; i++)
            {
                arr.Remove(i);
            }

            Assert.True(arr.IsEmpty());
        }
        public void Test_add()
        {
            int[] elements = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

            MyDynamicArray <int> arr = new MyDynamicArray <int>();

            foreach (var e in elements)
            {
                arr.Add(e);
            }

            // assert

            for (int i = 0; i < arr.Size; i++)
            {
                Assert.Equal(elements[i], arr[i]);
            }
        }
        public void Test_get_enumerator()
        {
            int[] elements           = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
            MyDynamicArray <int> arr = new MyDynamicArray <int>(100);


            foreach (var e in elements)
            {
                arr.Add(e);
            }

            int size = 0;

            foreach (var a in arr)
            {
                size++;
                Assert.True(Array.IndexOf(elements, a) != -1);
            }

            Assert.Equal(elements.Length, size);
        }