public void Contiene() { c1 += 2; Assert.AreEqual(1, c1.Size()); Assert.AreEqual(true, c1[2]); Assert.AreEqual(false, c1[3]); }
public void Borrar() { c1 += 2; Assert.AreEqual(1, c1.Size()); c1 -= 0; Assert.AreEqual(0, c1.Size()); }
public void Añadir() { c1 += 2; Assert.AreEqual(1, c1.Size()); c1 += 2; Assert.AreEqual(1, c1.Size()); }
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()); }
/// <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; }
/// <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; }
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()); }
public void InicializarTests() { this.c1 = new Conjunto(); this.c2 = new Conjunto(); }
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()); }