Ejemplo n.º 1
0
 public void Contiene()
 {
     c1 += 2;
     Assert.AreEqual(1, c1.Size());
     Assert.AreEqual(true, c1[2]);
     Assert.AreEqual(false, c1[3]);
 }
Ejemplo n.º 2
0
 public void Borrar()
 {
     c1 += 2;
     Assert.AreEqual(1, c1.Size());
     c1 -= 0;
     Assert.AreEqual(0, c1.Size());
 }
Ejemplo n.º 3
0
 public void Añadir()
 {
     c1 += 2;
     Assert.AreEqual(1, c1.Size());
     c1 += 2;
     Assert.AreEqual(1, c1.Size());
 }
Ejemplo n.º 4
0
        public void Diferencia()
        {
            c1 += 2;
            c1 += 4;
            Assert.AreEqual(2, c1.Size());

            c2 += 2;
            c2 += 9;
            Assert.AreEqual(2, c2.Size());

            c2 = c2 - c1;
            Assert.AreEqual(1, c2.Size());
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Redefinición del operador & que ahora calcula la diferencia de los conjuntos con los que se use
        /// </summary>
        /// <param name="c1">Conjunto uno del que se quiere obtener la diferencia</param>
        /// <param name="c2">Conjunto uno del que se quiere obtener la diferencia</param>
        /// <returns>Conjunto diferencia de los usados como parametros</returns>
        public static Conjunto operator -(Conjunto c1, Conjunto c2)
        {
            Conjunto diferencia = new Conjunto();
            Nodo aux = c1.raiz;

            while(aux != null)
            {
                if (!c2[aux.valor])
                {
                    diferencia += aux.valor;
                }
                aux = aux.siguiente;
            }
            return diferencia;
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Redefinición del operador & que ahora calcula la intersección de los conjuntos con los que se use
        /// </summary>
        /// <param name="c1">Conjunto uno del que se quiere obtener la intersección</param>
        /// <param name="c2">Conjunto uno del que se quiere obtener la intersección</param>
        /// <returns>Conjunto intersección de los usados como parametros</returns>
        public static Conjunto operator &(Conjunto c1, Conjunto c2)
        {
            Nodo aux = c1.raiz;
            Conjunto interseccion = new Conjunto();

            while (aux != null)
            {
                if (c2[aux.valor])
                {
                    interseccion += aux.valor;
                }
                aux = aux.siguiente;
            }
            return interseccion;
        }
Ejemplo n.º 7
0
        public void Union()
        {
            c1 += 2;
            c1 += 4;
            Assert.AreEqual(2, c1.Size());

            c2 += 2;
            c2 += 9;
            Assert.AreEqual(2, c2.Size());
            
            c2 = c2 | c1;
            Assert.AreEqual(3, c2.Size());
        }
Ejemplo n.º 8
0
 public void InicializarTests()
 {
     this.c1 = new Conjunto();
     this.c2 = new Conjunto();
 }
Ejemplo n.º 9
0
        public void Interseccion()
        {
            c1 += 2;
            c1 += 3;
            c1 += 4;
            Assert.AreEqual(3, c1.Size());

            c2 += 2;
            c2 += 9;
            c2 += 3;
            Assert.AreEqual(3, c2.Size());

            c2 = c2 & c1;
            Assert.AreEqual(2, c2.Size());
        }