Created
May 11, 2016 19:33
-
-
Save mgiagante/c19574abbb1e208c8f3fa37114fb6d20 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package tp04.ejercicio1; | |
import static org.junit.Assert.*; | |
import org.junit.Before; | |
import org.junit.Test; | |
public class ArbolBinarioTest { | |
private ArbolBinario<Integer> arbolBinarioTest; | |
@Before | |
public void setUp() throws Exception { | |
} | |
@Test | |
public void testCompletoConArbolCompleto() { | |
//Construye el siguiente arbol binario completo desde abajo hacia arriba. | |
/* | |
|5| | |
|8| |2| | |
|10| |2| |3| |1| | |
*/ | |
//Instanciacion del subarbol izquierdo. | |
ArbolBinario<Integer> hijoIzqDelSubArbolIzq = new ArbolBinario<Integer>(10); | |
ArbolBinario<Integer> hijoDerDelSubArbolIzq = new ArbolBinario<Integer>(2); | |
ArbolBinario<Integer> subArbolIzq = new ArbolBinario<Integer>(8); | |
subArbolIzq.agregarHijoIzquierdo(hijoIzqDelSubArbolIzq); | |
subArbolIzq.agregarHijoDerecho(hijoDerDelSubArbolIzq); | |
//Instanciacion del subarbol derecho. | |
ArbolBinario<Integer> hijoIzqDelSubArbolDer = new ArbolBinario<Integer>(3); | |
ArbolBinario<Integer> hijoDerDelSubArbolDer = new ArbolBinario<Integer>(1); | |
ArbolBinario<Integer> subArbolDer = new ArbolBinario<Integer>(2); | |
subArbolDer.agregarHijoIzquierdo(hijoIzqDelSubArbolDer); | |
subArbolDer.agregarHijoDerecho(hijoDerDelSubArbolDer); | |
//Instanciacion de la raiz | |
ArbolBinario<Integer> raiz = new ArbolBinario<Integer>(5); | |
raiz.agregarHijoIzquierdo(subArbolIzq); | |
raiz.agregarHijoDerecho(subArbolDer); | |
arbolBinarioTest = raiz; | |
assertTrue(arbolBinarioTest.completo()); //Deberia considerarlo completo. | |
} | |
@Test | |
public void testCompletoConArbolVacio() { | |
ArbolBinario<Integer> arbolBinarioTest = new ArbolBinario<Integer>(null); | |
assertFalse(arbolBinarioTest.completo()); //No deberia considerarlo completo. | |
} | |
@Test | |
public void testCompletoConArbolNoLleno() { | |
//Instanciacion del subarbol derecho. | |
ArbolBinario<Integer> hijoIzqDelSubArbolDer = new ArbolBinario<Integer>(3); | |
ArbolBinario<Integer> hijoDerDelSubArbolDer = new ArbolBinario<Integer>(1); | |
ArbolBinario<Integer> subArbolDer = new ArbolBinario<Integer>(2); | |
subArbolDer.agregarHijoIzquierdo(hijoIzqDelSubArbolDer); | |
subArbolDer.agregarHijoDerecho(hijoDerDelSubArbolDer); | |
//Instanciacion de la raiz | |
ArbolBinario<Integer> raiz = new ArbolBinario<Integer>(5); | |
raiz.agregarHijoDerecho(subArbolDer); | |
arbolBinarioTest = raiz; | |
assertFalse(arbolBinarioTest.completo()); | |
} | |
@Test | |
public void testCompletoConArbolNoCompletadoDeIzqADer() { | |
//Instanciacion del subarbol izquierdo. | |
ArbolBinario<Integer> hijoIzqDelSubArbolIzq = new ArbolBinario<Integer>(10); | |
ArbolBinario<Integer> hijoDerDelSubArbolIzq = new ArbolBinario<Integer>(2); | |
ArbolBinario<Integer> subArbolIzq = new ArbolBinario<Integer>(8); | |
subArbolIzq.agregarHijoIzquierdo(hijoIzqDelSubArbolIzq); | |
subArbolIzq.agregarHijoDerecho(hijoDerDelSubArbolIzq); | |
//Instanciacion del subarbol derecho. | |
ArbolBinario<Integer> hijoDerDelSubArbolDer = new ArbolBinario<Integer>(1); | |
ArbolBinario<Integer> subArbolDer = new ArbolBinario<Integer>(2); | |
subArbolDer.agregarHijoDerecho(hijoDerDelSubArbolDer); | |
//Instanciacion de la raiz | |
ArbolBinario<Integer> raiz = new ArbolBinario<Integer>(5); | |
raiz.agregarHijoIzquierdo(subArbolIzq); | |
raiz.agregarHijoDerecho(subArbolDer); | |
//Instanciacion del arbol binario | |
arbolBinarioTest = raiz; | |
assertFalse(arbolBinarioTest.completo()); | |
} | |
public void testCompletoConArbolCompletadoDeIzqADer() { | |
//Instanciacion del subarbol izquierdo. | |
ArbolBinario<Integer> hijoIzqDelSubArbolIzq = new ArbolBinario<Integer>(10); | |
ArbolBinario<Integer> hijoDerDelSubArbolIzq = new ArbolBinario<Integer>(2); | |
ArbolBinario<Integer> subArbolIzq = new ArbolBinario<Integer>(8); | |
subArbolIzq.agregarHijoIzquierdo(hijoIzqDelSubArbolIzq); | |
subArbolIzq.agregarHijoDerecho(hijoDerDelSubArbolIzq); | |
//Instanciacion del subarbol derecho. | |
ArbolBinario<Integer> hijoIzqDelSubArbolDer = new ArbolBinario<Integer>(3); | |
ArbolBinario<Integer> subArbolDer = new ArbolBinario<Integer>(2); | |
subArbolDer.agregarHijoIzquierdo(hijoIzqDelSubArbolDer); | |
//Instanciacion de la raiz | |
ArbolBinario<Integer> raiz = new ArbolBinario<Integer>(5); | |
raiz.agregarHijoIzquierdo(subArbolIzq); | |
raiz.agregarHijoDerecho(subArbolDer); | |
//Instanciacion del arbol binario | |
arbolBinarioTest = raiz; | |
assertTrue(arbolBinarioTest.completo()); //Deberia considerarlo completo. | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment