static void Main(string[] args)
        {
            DinamicArray<int> arr = new DinamicArray<int>();

            Console.WriteLine(arr.Capacity);
            Console.WriteLine(arr.Count);

            arr.Add(5);
            arr.Add(10);
            arr.Add(7);
            arr.Add(8);
            arr.Add(11);
            arr.Add(12);
            arr.Add(17);

            Console.WriteLine(arr.Count);
            Console.WriteLine(arr[3]);
            Console.WriteLine(arr.Contains(15));
            Console.WriteLine(arr.IndexOf(11));
            arr.InsertAt(3, 15);
            arr.Remove(7);

            for (int i = 0; i < arr.Count; i++)
            {
                Console.WriteLine(arr[i]);
            }
        }
示例#2
0
    public void Test_DinamicArray_Clear_AddSecondaryValues(
        int [] initialValues,
        int [] secondaryValues,
        int [] expectedResult)
    {
        DinamicArray <int> array1 = new DinamicArray <int>();

        for (int i = 0; i < initialValues.Length; i++)
        {
            array1.Add(initialValues[i]);
        }

        //Act
        array1.Clear();

        for (int i = 0; i < secondaryValues.Length; i++)
        {
            array1.Add(secondaryValues[i]);
        }

        //Assert
        bool ammountOfElementsIsCorrect = array1.Count == expectedResult.Length;
        bool AllElementsAreCorrect      = false;

        for (int i = 0; i < array1.Count; i++)
        {
            AllElementsAreCorrect = array1[i] == expectedResult[i];
        }

        Assert.That(ammountOfElementsIsCorrect && AllElementsAreCorrect);
    }
        public void IntInitTest()
        {
            DinamicArray <int> a = new DinamicArray <int>(10);

            a.AddRange(new int[] { 4, 3, 2, 1 });

            Assert.AreEqual(a[a.Length - 1], 1);
        }
        public void CharInitTest()
        {
            DinamicArray <char> a = new DinamicArray <char>(new char[] { 'a', 'b', 'c', 'd', 'f', 'g' });

            a.Remove(5);

            Assert.AreEqual(a[4], 'f');
        }
        public void LengthAfterInsertTest()
        {
            DinamicArray <char> a = new DinamicArray <char>(new char[] { 'a', 'b', 'c', 'd', 'f', 'g' });

            a.Insert('A', 10);

            Assert.AreEqual(a.Length, 10);
        }
示例#6
0
    public void Test_DinamicArray_RemoveAt_TrowsInvalidIndexException(int index)
    {
        DinamicArray <int> array1 = new DinamicArray <int>();

        array1.Add(1);
        array1.Add(2);

        Assert.Throws <System.IndexOutOfRangeException>(() => array1.RemoveAt(index));
    }
示例#7
0
        static void Main(string[] args)
        {
            int[] w = new int[] { 1, 2, 3, 4, 5 };
            DinamicArray <int> i = new DinamicArray <int>(w);

            foreach (int q in i)
            {
                Console.WriteLine(q);
            }
        }
        public void ForeachTest()
        {
            DinamicArray <int> a = new DinamicArray <int>(new int[] { 1, 2, 3, 4, 5 });
            List <int>         currentNumbers = new List <int>();

            foreach (var el in a)
            {
                currentNumbers.Add(el);
            }

            Assert.AreEqual(currentNumbers[4], 5);
        }
示例#9
0
    public void Test_DinamicArray_Clear()
    {
        DinamicArray <int> array1 = new DinamicArray <int>();

        array1.Add(2);
        array1.Add(3);
        array1.Add(4);
        array1.Add(5);

        array1.Clear();

        Assert.That(array1.Count == 0);
    }
        static void Main(string[] args)
        {
            int[]        mas = new int[] { 5, 1, 2, 3 };
            DinamicArray ar  = new DinamicArray(mas);

            // Console.WriteLine(ar.Capasity);
            //ar.Insert(1, 0);
            // ar.Remove(0);

            foreach (var i in ar)
            {
                Console.WriteLine(i);
            }
        }
示例#11
0
    public void Test_DinamicArray_IndexOf_IndexDoesNotExists(int value)
    {
        //Arrange
        var array = new DinamicArray <int>();

        int[] initialElements = { 4, 5, 6 };
        for (int i = 0; i < initialElements.Length; i++)
        {
            array.Add(initialElements[i]);
        }

        //Assert
        Assert.That(array.IndexOf(value) == -1);
    }
示例#12
0
    public void Test_DinamicArray_Contains(
        int Element,
        bool expectedResult)
    {
        //Arrange
        var array = new DinamicArray <int>();

        int[] initialElements = { 4, 5, 6 };
        for (int i = 0; i < initialElements.Length; i++)
        {
            array.Add(initialElements[i]);
        }

        Assert.That(array.Contains(Element) == expectedResult,
                    "El resultado no es el esperado.");
    }
示例#13
0
    public void Test_DinamicArray_IndexOf_IndexExists(
        int value,
        int index)
    {
        //Arrange
        var array = new DinamicArray <int>();

        int[] initialElements = { 4, 5, 6 };
        for (int i = 0; i < initialElements.Length; i++)
        {
            array.Add(initialElements[i]);
        }

        //Assert
        Assert.That(array.IndexOf(value) == index,
                    string.Format("Los índices no coínciden"));
    }
示例#14
0
    public void Test_DinamicArray_InsertAtIndex(
        int[] initialValues,
        int index,
        int value)
    {
        //Arrange
        var array = new DinamicArray <int>();

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

        //Act
        array.Insert(value, index);

        //Assert.That()
        Assert.That(array[index] == value,
                    string.Format("El valor en index es incorrecto.\nEl valor correcto es {0} mientras que el guardado es {1}", value, array[index]));
    }
示例#15
0
    public void Test_DinamicArray_Add(
        int[] toAddElements,
        int expectedAmmountsOfElements)
    {
        //Arrange
        //creamos las instancias y todos los elementos necesarios para ejecutar el método.
        var array = new DinamicArray <int>(3);

        //Act
        //Llamamos el metodo pasándole los parámetros.
        for (int i = 0; i < toAddElements.Length; i++)
        {
            array.Add(toAddElements[i]);
        }

        //Assert
        //Usamos un assert para determinar si la prueba fue un exito o no.
        Assert.That(array.Count == toAddElements.Length,
                    string.Format("La cantidad de elementos no coincide!\nSe añadieron {0} elementos, pero el conteo es de {1} elementos", toAddElements.Length, array.Count));
    }
示例#16
0
    //[TestCase(new int[] { 4, 5, 6 }, 3, new int[] { 4, 5, 6 })]
    //[TestCase(new int[] { 4, 5, 6 }, 4, new int[] { 4, 5, 6 })]
    public void Test_DinamicArray_RemoveAt(
        int[] initialElements,
        int indexToRemove,
        int[] expectedResult)
    {
        //Arrange
        var array1 = new DinamicArray <int>();

        for (int i = 0; i < initialElements.Length; i++)
        {
            array1.Add(initialElements[i]);
        }

        //Act
        array1.RemoveAt(indexToRemove);


        //Assert
        bool countIsCorrect = array1.Count == expectedResult.Length;

        bool elementsAreFine = false;

        if (expectedResult.Length > 0)
        {
            for (int i = 0; i < array1.Count; i++)
            {
                elementsAreFine = array1[i] == expectedResult[i];
                if (!elementsAreFine)
                {
                    break;
                }
            }
        }
        else
        {
            elementsAreFine = array1.Count == 0;
        }

        Assert.That(countIsCorrect && elementsAreFine);
    }
示例#17
0
    public void Test_DinamicArray_Remove_MultipleElements(
        int[] initialElements,
        int[] ElementsToRemove,
        int[] expectedResult)
    {
        //Arrange
        var array1 = new DinamicArray <int>();

        for (int i = 0; i < initialElements.Length; i++)
        {
            array1.Add(initialElements[i]);
        }

        //Act
        for (int i = 0; i < ElementsToRemove.Length; i++)
        {
            array1.Remove(ElementsToRemove[i]);
        }
        bool countIsCorrect        = array1.Count == expectedResult.Length;
        bool AllElementsAreCorrect = array1.Count == 0;

        for (int i = 0; i < array1.Count; i++)
        {
            AllElementsAreCorrect = expectedResult[i] == array1[i];
            if (!AllElementsAreCorrect)
            {
                break;
            }
        }

        //Assert
        Assert.That(countIsCorrect && AllElementsAreCorrect,
                    string.Format("El numero de elementos {0} y todos los valores {1}"
                                  , countIsCorrect ? "coincide" : "no coincide",
                                  AllElementsAreCorrect ? "coinciden" : "no coinciden"));
    }
    void Start()
    {
        Debug.Log("Comienzo test de array dinamico ------------------>");

        //-------------------> Inserte aqui su array dinamico.
        //-------------------> vvvvvvvvvvvvvvvvvvvvvvvv   <
        IDinamicArray <int> dinamicArray = new DinamicArray <int>();

        //-------------------> ^^^^^^^^^^^^^^^^^^^^^^^^   <

        dinamicArray.Add(10);
        dinamicArray.Add(20);
        dinamicArray.Add(30);

        if (dinamicArray.Count != 3)
        {
            Debug.LogWarning("Count no vale lo que deberia.");
        }

        if (!CheckEquality(dinamicArray, new List <int>()
        {
            10, 20, 30
        }))
        {
            Debug.LogWarning("Los elementos contenidos no son los correctos.");
        }

        dinamicArray[0] = -10;

        if (!CheckEquality(dinamicArray, new List <int>()
        {
            -10, 20, 30
        }))
        {
            Debug.LogWarning("Los elementos contenidos no son los correctos.");
        }

        dinamicArray.Add(40);

        if (dinamicArray.Count != 4)
        {
            Debug.LogWarning("Count no vale lo que deberia.");
        }

        if (!CheckEquality(dinamicArray, new List <int>()
        {
            -10, 20, 30, 40
        }))
        {
            Debug.LogWarning("Los elementos contenidos no son los correctos.");
        }

        dinamicArray.Insert(40, 1);

        if (dinamicArray.Count != 5)
        {
            Debug.LogWarning("Count no vale lo que deberia.");
        }

        if (!CheckEquality(dinamicArray, new List <int>()
        {
            -10, 40, 20, 30, 40
        }))
        {
            Debug.LogWarning("Los elementos contenidos no son los correctos.");
        }

        if (!dinamicArray.Contains(20) || !dinamicArray.Contains(40) || dinamicArray.Contains(0))
        {
            Debug.LogWarning("Hay un problema con el contains");
        }

        if (dinamicArray.IndexOf(40) != 1 || dinamicArray.IndexOf(30) != 3)
        {
            Debug.LogWarning("Hay un problema con el IndexOf");
        }

        if (dinamicArray.IndexOf(50) != -1)
        {
            Debug.LogWarning("Hay un problema con el IndexOf");
        }

        dinamicArray.Remove(40);

        if (dinamicArray.Count != 4)
        {
            Debug.LogWarning("Count no vale lo que deberia.");
        }

        if (!CheckEquality(dinamicArray, new List <int>()
        {
            -10, 20, 30, 40
        }))
        {
            Debug.LogWarning("Los elementos contenidos no son los correctos.");
        }

        dinamicArray.RemoveAt(2);

        if (dinamicArray.Count != 3)
        {
            Debug.LogWarning("Count no vale lo que deberia.");
        }

        if (!CheckEquality(dinamicArray, new List <int>()
        {
            -10, 20, 40
        }))
        {
            Debug.LogWarning("Los elementos contenidos no son los correctos.");
        }

        dinamicArray.Clear();

        if (dinamicArray.Count != 0)
        {
            Debug.LogWarning("Count no vale lo que deberia.");
        }

        Debug.Log("Si llega hasta aca sin loguear nada esta todo correcto.");

        Debug.Log("Fin de test de array dinamico <--------------------");
    }