コード例 #1
0
        public void TestColaConstructorVariosEnteros()
        {
            cola = new ColaConcurrente <int>(1, 2, 3);

            Assert.AreEqual(3, cola.NumeroElementos,
                            "El constructor de cola con varios elementos como parámetro no crea una cola con 3 elementos.");
            Assert.AreEqual("<-[1, 2, 3]<-", cola.ToString(),
                            "El constructor de cola con varios elementos como parámetro no crea una cola con los números 1, 2 y 3.");
        }
コード例 #2
0
        public void TestColaConstructorUnSoloElemento()
        {
            cola = new ColaConcurrente <int>(1);

            Assert.AreEqual(1, cola.NumeroElementos,
                            "El constructor de cola con un elemento no crea una cola con 1 elemento.");
            Assert.AreEqual("<-[1]<-", cola.ToString(),
                            "El constructor de cola con un 1 como parámetro no crea una cola con un 1.");
        }
コード例 #3
0
        public void TestColaAñadir()
        {
            cola = new ColaConcurrente <int>();

            cola.Añadir(5);
            Assert.AreEqual(1, cola.NumeroElementos,
                            "Añadir un elemento en una cola vacía no incrementa el número de elementos a 1.");
            Assert.AreEqual("<-[5]<-", cola.ToString(),
                            "Añadir() no añade el elemento correctamente");
            Assert.AreEqual(5, cola.PrimerElemento());

            cola.Añadir(6);
            Assert.AreEqual(2, cola.NumeroElementos,
                            "Añadir un elemento a una cola con 1 elemento no incrementa el número de elementos a 2.");
            Assert.AreEqual("<-[5, 6]<-", cola.ToString(),
                            "Añadir() no añade el elemento correctamente");
            Assert.AreEqual(5, cola.PrimerElemento());
        }
コード例 #4
0
        public void TestConstructorColaVacia()
        {
            cola = new ColaConcurrente <int>();

            Assert.AreEqual(0, cola.NumeroElementos,
                            "El constructor de cola vacía no crea una cola con 0 elementos.");
            Assert.IsTrue(cola.EstáVacía(),
                          "El constructor de cola vacía no crea una cola vacía.");
            Assert.AreEqual("<-[]<-", cola.ToString(),
                            "El toString() de una cola vacía no indica que está vacía.");
        }
コード例 #5
0
        public void TestColaConstructorCopia()
        {
            ColaConcurrente <int> colaOtro = new ColaConcurrente <int>(1, 2, 3);

            cola = new ColaConcurrente <int>(colaOtro);

            Assert.AreEqual(colaOtro.NumeroElementos, cola.NumeroElementos,
                            "La cola creada con el constructor de copia no tiene el mismo número de elementos que la cola original.");
            Assert.AreEqual(colaOtro.ToString(), cola.ToString(),
                            "La cola creada con el constructor de copia no tiene los mismos elementos que la cola original.");

            // Comprobamos que las dos colas son totalmente independientes (modificar una no modifica la otra)
            colaOtro.Añadir(4);
            cola.Extraer();

            Assert.AreEqual(4, colaOtro.NumeroElementos,
                            "La cola creada con el constructor de copia no es independiente de la cola original.");
            Assert.AreEqual("<-[1, 2, 3, 4]<-", colaOtro.ToString(),
                            "La cola creada con el constructor de copia no es independiente de la cola original.");
            Assert.AreEqual(2, cola.NumeroElementos,
                            "La cola creada con el constructor de copia no es independiente de la cola original.");
            Assert.AreEqual("<-[2, 3]<-", cola.ToString(),
                            "La cola creada con el constructor de copia no es independiente de la cola original.");
        }
コード例 #6
0
        public void TestColaExtraer()
        {
            cola = new ColaConcurrente <int>(5, 6);

            var extraido = cola.Extraer();

            Assert.AreEqual(5, extraido,
                            "El elemento extraido con Extraer() no es el esperado.");
            Assert.AreEqual(1, cola.NumeroElementos,
                            "Extraer() no decrementa el número de elementos en 1.");
            Assert.AreEqual("<-[6]<-", cola.ToString(),
                            "Extraer() no borra el primer elemento de la cola.");

            // Probamos a Extraer() cuando la cola solo tiene un elemento
            extraido = cola.Extraer();
            Assert.AreEqual(6, extraido,
                            "El elemento extraido con Extraer() no es el esperado.");
            Assert.AreEqual(0, cola.NumeroElementos,
                            "Extraer() no decrementa el número de elementos en 1.");
            Assert.IsTrue(cola.EstáVacía(),
                          "Extraer() no deja la cola vacía.");
            Assert.AreEqual("<-[]<-", cola.ToString(),
                            "Extraer() no borra el primer elemento de la cola.");
        }
コード例 #7
0
        public void TestColaConstructorArray()
        {
            cola = new ColaConcurrente <int>(new int[] { 1, 2, 3 });

            Assert.AreEqual(3, cola.NumeroElementos,
                            "El constructor de cola con varios elementos como parámetro no crea una cola con 3 elementos.");
            Assert.AreEqual("<-[1, 2, 3]<-", cola.ToString(),
                            "El constructor de cola con varios elementos como parámetro no crea una cola con los números 1, 2 y 3.");

            // Probamos con un array vacío
            cola = new ColaConcurrente <int>(new int[] { });

            Assert.AreEqual(0, cola.NumeroElementos,
                            "El constructor de cola con un array vacío como parámetro no crea una cola con 0 elementos.");
            Assert.AreEqual("<-[]<-", cola.ToString(),
                            "El constructor de cola con un array vacío como parámetro no crea una cola vacía.");
        }