From ff67a64943be9a88e91033f8db57406906e299c5 Mon Sep 17 00:00:00 2001 From: Javier Calvo <javiercalvoporro@gmail.com> Date: Sat, 9 Nov 2024 21:51:07 +0100 Subject: [PATCH] TestMuelle 100% --- src/es/markse/Contenedor.java | 48 +++++-- src/es/markse/Muelle.java | 65 ++++++--- uses/es/markse/MuelleTest.java | 250 ++++++++++++++++++++++++++++----- 3 files changed, 296 insertions(+), 67 deletions(-) diff --git a/src/es/markse/Contenedor.java b/src/es/markse/Contenedor.java index 83322f1..eb362d1 100644 --- a/src/es/markse/Contenedor.java +++ b/src/es/markse/Contenedor.java @@ -18,8 +18,9 @@ public class Contenedor { private float volumen; private boolean techo; private List<Trayecto> trayectos = new ArrayList<>(); - private boolean recogida = false; - private boolean transito = false; + private boolean recogida; + private boolean transito; + private boolean apilado = false; /** * Constructor del Objeto Contenedor @@ -36,14 +37,13 @@ public class Contenedor { validarCodigoDueno(codigoDueno.toUpperCase()); validarEquipamiento(equipamiento); validarNumeroSerie(numeroSerie); - this.pesoTara = pesoContenedor; this.maximaCargaUtil = maximaCargaUtil; this.volumen = volumen; this.transito = transito; + this.recogida = !transito; this.techo = techo; String digitoControl = String.valueOf(calcularDigitoControl(codigoDueno, equipamiento, numeroSerie)); - this.codigo = codigoDueno + equipamiento + numeroSerie + digitoControl; } @@ -53,7 +53,7 @@ public class Contenedor { * @throws Devuelve una excepcion si no coincide con el patron */ private void validarCodigoDueno(String codigoDueno) { - if (codigoDueno.length() != 3 || !codigoDueno.matches("[A-Z]{3}")) { + if (codigoDueno.length() != 3 || !codigoDueno.matches("[A-Za-z]{3}")) { throw new IllegalArgumentException("El código del dueño debe tener 3 letras mayúsculas."); } } @@ -118,20 +118,44 @@ public class Contenedor { /** * 1.1.13 Metodo que sirve para cambiar el estado a recogida de un contenedor + * Si esta apilado no puede estar en recogida */ public void cambiarEstadoARecogida() { - this.recogida = true; - this.transito = false; + if(!this.estadoApilado()) { + this.recogida = true; + this.transito = false; + } + } /** * 1.1.14 metodo que sirve para cambiar un contenedor a estado de transito + * Si esta apilado no puede estar en transito */ public void cambiarEstadoATransito() { - this.transito = true; + if (!this.estadoApilado()) { + this.transito = true; + this.recogida = false; + } + } + + /** + * Metodo para cambiar estado a apilado + */ + public void cambiarEstadoApilado() { + this.apilado = true; + this.transito = false; this.recogida = false; } + /** + * Metodo para cmabiar el estado de apilado --> recogida + */ + public void cambiarEstadoDesapilado() { + this.apilado = false; + this.recogida = true; + } + /** * 1.1.15 Metodo que cambia un contenedor que no tenga techo a que lo tenga, y al contrario */ @@ -203,6 +227,14 @@ public class Contenedor { public boolean estadoTransito() { return this.transito; } + + /** + * Metodo que devuelve el estado de apilamiento de un contenedor + * @return estado de apilamiento de un contenedor + */ + public boolean estadoApilado() { + return this.apilado; + } //REALIZAR EL METODO PARA CALCULAR LOS TRAYECTOS } \ No newline at end of file diff --git a/src/es/markse/Muelle.java b/src/es/markse/Muelle.java index 96a24cd..7338a19 100644 --- a/src/es/markse/Muelle.java +++ b/src/es/markse/Muelle.java @@ -70,8 +70,7 @@ public class Muelle { return false; } if (this.contenedores.isEmpty() || this.ultimoContenedor().tieneTecho()) { - this.contenedores.add(contenedor); - return true; + return this.contenedores.add(contenedor); } return false; } @@ -83,7 +82,7 @@ public class Muelle { * @return true si es el ultimo o false si no lo es. */ public boolean estaEnUltimoNivel(String codigoContenedor) { - return !this.contenedores.isEmpty() && this.ultimoContenedor().getCodigo().equals(codigoContenedor); + return this.ultimoContenedor().getCodigo().equals(codigoContenedor); } /** @@ -279,11 +278,20 @@ public class Muelle { if (contenedor == null) throw new IllegalArgumentException("El Ccontenedor no puede ser nulo"); if (plaza < 0 || plaza > this.numeroDePlazasTotales()) throw new IllegalArgumentException("La plaza debe de estar entre 0-"+ (this.plazas.length -1)); + //Si ya esta apilado + if (contenedor.estadoApilado()) { + throw new IllegalArgumentException("El Contenedor ya esta apilado"); + } + //Si esta entransito + if (contenedor.estadoTransito()) { + throw new IllegalArgumentException("El Contenedor esta en transito, no se puede colocar"); + } Contenedor ultimo = this.plazas[plaza].ultimoContenedor(); // Verificar si hay un último contenedor y si tiene techo boolean teniaTecho = (ultimo != null && ultimo.tieneTecho()); if (this.plazas[plaza].colocarContenedor(contenedor)) { + contenedor.cambiarEstadoApilado(); int plazasDespues = this.plazas[plaza].numeroContenedores(); int plazasAntes = plazasDespues - 1; this.actualizarPlazas(plazasAntes, plazasDespues, this.plazas[plaza], teniaTecho); @@ -304,14 +312,22 @@ public class Muelle { public void sacarContenedorDePlaza(Contenedor contenedor) { if (contenedor == null) throw new IllegalArgumentException("El Ccontenedor no puede ser nulo"); - for (Plaza plaza : this.plazas) { - if (plaza.numeroContenedores() != 0 && plaza.estaEnUltimoNivel(contenedor.getCodigo())) { - int plazasAntes = plaza.numeroContenedores(); - boolean teniaTecho = plaza.ultimoContenedor().tieneTecho(); //Ver si el contenedor que quitamos tenia techo o no - plaza.desapilarContenedor(); - int plazasDespues = plaza.numeroContenedores(); - this.actualizarPlazas(plazasAntes, plazasDespues, plaza, teniaTecho); - } + if (!contenedor.estadoApilado()) throw new IllegalArgumentException("El Contenedor no esta en ninguna plaza. Se encuentra en transito o en recogida"); + + for (Plaza plaza : this.plazas) { + if (plaza.contieneContenedor(contenedor.getCodigo())) { + if (plaza.estaEnUltimoNivel(contenedor.getCodigo())) { + int plazasAntes = plaza.numeroContenedores(); + boolean teniaTecho = plaza.ultimoContenedor().tieneTecho(); + plaza.desapilarContenedor(); + contenedor.cambiarEstadoDesapilado(); + int plazasDespues = plaza.numeroContenedores(); + this.actualizarPlazas(plazasAntes, plazasDespues, plaza, teniaTecho); + } + else { + throw new IllegalArgumentException("El Contenedor No esta en el ultimo nivel"); + } + } } } @@ -339,7 +355,8 @@ public class Muelle { } //Si ahora no lo tiene, las llenas son una mas y semillenas uno menos else { - this.plazasLlenas++; this.plazasSemillenas--; + this.plazasLlenas++; + this.plazasSemillenas--; } } } @@ -377,19 +394,27 @@ public class Muelle { //Plaza queda vacia if (esVacio) { if (alturaMaxima == 1 || !teniaTecho) { - plazasLlenas--; - plazasVacias++; + this.plazasLlenas--; + this.plazasVacias++; } else { - plazasSemillenas--; - plazasVacias++; + this.plazasSemillenas--; + this.plazasVacias++; } } + //Se queda con el penultimo contenedor + else if (esPenultimoContenedor) { + this.plazasLlenas--; + this.plazasSemillenas++; + } - //Se queda con el penultimo contenedor o con otro cuando el anterior no tenia techo - else if (esPenultimoContenedor || (!teniaTecho && plazasDespues < alturaMaxima)) { - plazasLlenas--; - plazasSemillenas++; + //Se elimina un contenedor que no sea ni el primero ni el ultimo + else { + //Si el contenedor eliminado tenia no techo Llenas a Semillenas + if (!teniaTecho) { + this.plazasLlenas--; + this.plazasSemillenas++; + } } } diff --git a/uses/es/markse/MuelleTest.java b/uses/es/markse/MuelleTest.java index 5d0ce30..e319683 100644 --- a/uses/es/markse/MuelleTest.java +++ b/uses/es/markse/MuelleTest.java @@ -18,7 +18,7 @@ import es.uva.inf.poo.maps.GPSCoordinate; public class MuelleTest { @Test - public final void testMuelle() { + public void testMuelle() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); Muelle m = new Muelle("01", cord, true, 2,2); assertEquals("01", m.getIdentificador()); @@ -28,37 +28,43 @@ public class MuelleTest { } @Test(expected = IllegalArgumentException.class) - public final void testMuelleIdentificadorVacio() { + public void testMuelleIdentificadorVacio() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); new Muelle(null, cord, true, 2,2); } @Test(expected = IllegalArgumentException.class) - public final void testMuelleGPSVacio() { + public void testMuelleGPSVacio() { new Muelle("04", null, true, 2,2); } @Test(expected = IllegalArgumentException.class) - public final void testMuelleIdentificadorInalido() { + public void testMuelleIdentificadorInvalido() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); new Muelle("r3", cord, true, 2,2); } @Test(expected = IllegalArgumentException.class) - public final void testMuellePlazasInvalida() { + public void testMuelleIdentificadorInvalidoTamanyo() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + new Muelle("r432432", cord, true, 2,2); + } + + @Test(expected = IllegalArgumentException.class) + public void testMuellePlazasInvalida() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); new Muelle("12", cord, true, -3,2); } @Test(expected = IllegalArgumentException.class) - public final void testMuelleAlturaInvalida() { + public void testMuelleAlturaInvalida() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); new Muelle("12", cord, true, 1,-2); } @Test - public final void testGetIdentificador() { + public void testGetIdentificador() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); Muelle m = new Muelle("01", cord, true, 2,2); assertEquals("01", m.getIdentificador()); @@ -66,7 +72,7 @@ public class MuelleTest { @Test - public final void testEstaOperativo() { + public void testEstaOperativo() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); Muelle m1 = new Muelle("01", cord, true, 2,2); Muelle m2 = new Muelle("02", cord, false, 2,2); @@ -76,7 +82,7 @@ public class MuelleTest { @Test - public final void testGetGPSCoordinate() { + public void testGetGPSCoordinate() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); Muelle m = new Muelle("01", cord, true, 2,2); assertEquals(cord, m.getGPSCoordinate()); @@ -84,7 +90,7 @@ public class MuelleTest { @Test - public final void testNumeroDePlazasTotales() { + public void testNumeroDePlazasTotales() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); Muelle m = new Muelle("01", cord, true, 2,2); assertEquals(2,m.numeroDePlazasTotales()); @@ -92,11 +98,9 @@ public class MuelleTest { @Test - public final void testPlazasVacias() { - Puerto p = new Puerto("ES","BAR"); + public void testPlazasVacias() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); Muelle m = new Muelle("01", cord, true, 2,1); - p.anyadirMuelle(m); assertEquals(2, m.plazasVacias()); Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); Contenedor c2 = new Contenedor("TRR", 'J', "056731", 100, 400, 500, false, true); @@ -109,7 +113,7 @@ public class MuelleTest { } @Test - public final void testPlazasLlenas() { + public void testPlazasLlenas() { Puerto p = new Puerto("ES","BAR"); GPSCoordinate cord = new GPSCoordinate(5d, 5d); Muelle m = new Muelle("01", cord, true, 1,2); @@ -123,11 +127,9 @@ public class MuelleTest { } @Test - public final void testPlazasSemillenas() { - Puerto p = new Puerto("ES","BAR"); + public void testPlazasSemillenas() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); Muelle m = new Muelle("01", cord, true, 1,2); - p.anyadirMuelle(m); assertEquals(0, m.plazasSemillenas()); Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); Contenedor c2 = new Contenedor("TRR", 'J', "056731", 100, 400, 500, false, true); @@ -142,11 +144,9 @@ public class MuelleTest { } @Test - public final void testPlazaActual() { - Puerto p = new Puerto("ES","BAR"); + public void testPlazaActual() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); Muelle m = new Muelle("01", cord, true, 10,2); - p.anyadirMuelle(m); Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); m.colocarContenedorEnPlaza(c, 4); assertEquals(4, m.plazaActual(c.getCodigo())); @@ -154,14 +154,14 @@ public class MuelleTest { } @Test(expected = IllegalArgumentException.class) - public final void testPlazaActualCodigoInvalido() { + public void testPlazaActualCodigoInvalido() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); Muelle m = new Muelle("01", cord, true, 10,2); m.plazaActual("HOLA"); } @Test(expected = IllegalArgumentException.class) - public final void testPlazaActualCodigoNulo() { + public void testPlazaActualCodigoNulo() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); Muelle m = new Muelle("01", cord, true, 10,2); m.plazaActual(null); @@ -169,11 +169,9 @@ public class MuelleTest { @Test - public final void testNivelEnPlaza() { - Puerto p = new Puerto("ES","BAR"); + public void testNivelEnPlaza() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); Muelle m = new Muelle("01", cord, true, 10,2); - p.anyadirMuelle(m); Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); Contenedor c2 = new Contenedor("ZEX", 'Z', "666731", 100, 400, 500, false, true); m.colocarContenedorEnPlaza(c, 4); @@ -184,38 +182,212 @@ public class MuelleTest { } @Test(expected = IllegalArgumentException.class) - public final void testNivelEnPlazaCodigoInvalido() { + public void testNivelEnPlazaCodigoInvalido() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); Muelle m = new Muelle("01", cord, true, 10,2); m.nivelEnPlaza("HOLA"); } @Test(expected = IllegalArgumentException.class) - public final void testNivelEnPlazaCodigoNulo() { + public void testNivelEnPlazaCodigoNulo() { GPSCoordinate cord = new GPSCoordinate(5d, 5d); Muelle m = new Muelle("01", cord, true, 10,2); m.nivelEnPlaza(null); } - /* @Test - public final void testColocarContenedorEnPlaza() { + public void testColocarContenedorEnPlaza() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Muelle m = new Muelle("01", cord, true, 2,1); + Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); + Contenedor c2 = new Contenedor("ZEX", 'Z', "666731", 100, 400, 500, false, true); + m.colocarContenedorEnPlaza(c, 0); + m.colocarContenedorEnPlaza(c2, 1); } - + @Test(expected = IllegalArgumentException.class) + public void testColocarContenedorEnPlazaContenedorVacio() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Muelle m = new Muelle("01", cord, true, 2,1); + m.colocarContenedorEnPlaza(null, 0); + } + + @Test(expected = IllegalArgumentException.class) + public void testColocarContenedorEnPlazaFueraRango() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); + Muelle m = new Muelle("01", cord, true, 2,1); + m.colocarContenedorEnPlaza(c, 13); + } + + @Test(expected = IllegalArgumentException.class) + public void testColocarContenedorEnPlazaFueraRangoAbajo() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); + Muelle m = new Muelle("01", cord, true, 2,1); + m.colocarContenedorEnPlaza(c, -2); + } + + @Test(expected = IllegalArgumentException.class) + public void testColocarContenedorYaApilado() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); + Muelle m = new Muelle("01", cord, true, 2,1); + m.colocarContenedorEnPlaza(c, 0); + m.colocarContenedorEnPlaza(c, 1); + } + + @Test(expected = IllegalArgumentException.class) + public void testColocarContenedorEnTransito() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); + Muelle m = new Muelle("01", cord, true, 2,1); + c.cambiarEstadoATransito(); + m.colocarContenedorEnPlaza(c, 0); + } + + @Test(expected = IllegalArgumentException.class) + public void testColocarContenedorEncimaDeUnoSinTecho() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, false); + Muelle m = new Muelle("01", cord, true, 1,2); + m.colocarContenedorEnPlaza(c, 0); + Contenedor c2 = new Contenedor("ZTG", 'J', "582940", 100, 400, 500, false, false); + m.colocarContenedorEnPlaza(c2, 0); + } + + @Test(expected = IllegalArgumentException.class) + public void testColocarContenedorEnPlazaLLena() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); + Muelle m = new Muelle("01", cord, true, 1,1); + m.colocarContenedorEnPlaza(c, 0); + Contenedor c2 = new Contenedor("ZTG", 'J', "582940", 100, 400, 500, false, true); + m.colocarContenedorEnPlaza(c2, 0); + } + + @Test(expected = IllegalArgumentException.class) + public void testColocarContenedorEnDosMuelles() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); + Muelle m = new Muelle("01", cord, true, 1,1); + Muelle m2 = new Muelle("01", cord, true, 1,1); + m.colocarContenedorEnPlaza(c, 0); + m2.colocarContenedorEnPlaza(c, 0); + } + @Test - public final void testSacarContenedorDePlaza() { - fail("Not yet implemented"); // TODO + public void testSacarContenedorDePlaza() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); + Muelle m = new Muelle("01", cord, true, 1,1); + m.colocarContenedorEnPlaza(c, 0); + m.sacarContenedorDePlaza(c); } - + + @Test(expected = IllegalArgumentException.class) + public void testSacarContenedorDePlazaQueNoEstaEnUltimoNivel() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); + Contenedor c2 = new Contenedor("RJF", 'Z', "401932", 100, 400, 500, false, true); + Muelle m = new Muelle("01", cord, true, 1,2); + m.colocarContenedorEnPlaza(c, 0); + m.colocarContenedorEnPlaza(c2, 0); + m.sacarContenedorDePlaza(c); + } + + @Test(expected = IllegalArgumentException.class) + public void testSacarContenedorDePlazaContenedorVacio() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Muelle m = new Muelle("01", cord, true, 1,1); + m.sacarContenedorDePlaza(null); + } + + @Test(expected = IllegalArgumentException.class) + public void testSacarContenedorDePlazaQueNoEstaApilado() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); + Muelle m = new Muelle("01", cord, true, 1,1); + m.sacarContenedorDePlaza(c); + } + @Test - public final void testAlternarTechoContenedor() { - fail("Not yet implemented"); // TODO + public void testAlternarTechoContenedor() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); + Muelle m = new Muelle("01", cord, true, 2,2); + m.colocarContenedorEnPlaza(c, 0); + m.alternarTechoContenedor(c); + Contenedor c2 = new Contenedor("XCD", 'J', "401941", 100, 400, 500, false, true); + Contenedor c3 = new Contenedor("RTR", 'J', "405012", 100, 400, 500, false, true); + m.colocarContenedorEnPlaza(c2, 1); + m.colocarContenedorEnPlaza(c3, 1); + m.alternarTechoContenedor(c3); } - + + @Test(expected = IllegalArgumentException.class) + public void testAlternarTechoContenedorVacio() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Muelle m = new Muelle("01", cord, true, 1,2); + m.alternarTechoContenedor(null); + } + + @Test(expected = IllegalArgumentException.class) + public void testAlternarTechoContenedorQueNoEsta() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Muelle m = new Muelle("01", cord, true, 1,2); + Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); + m.alternarTechoContenedor(c); + } + + @Test(expected = IllegalArgumentException.class) + public void testAlternarTechoContenedorQueNoEstaEnUltimaPlaza() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Muelle m = new Muelle("01", cord, true, 1,2); + Contenedor c = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true); + Contenedor c2 = new Contenedor("EWE", 'J', "456321", 100, 400, 500, false, true); + m.colocarContenedorEnPlaza(c, 0); + m.colocarContenedorEnPlaza(c2, 0); + m.alternarTechoContenedor(c); + } + + @Test + public void testAlternarOperativo() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Muelle m = new Muelle("01", cord, true, 1,2); + m.alternarOperativo(); + assertFalse(m.estaOperativo()); + m.alternarOperativo(); + assertTrue(m.estaOperativo()); + } + @Test - public final void testAlternarOperativo() { - fail("Not yet implemented"); // TODO + public void testGestionPlazasGeneral() { + GPSCoordinate cord = new GPSCoordinate(5d, 5d); + Muelle m = new Muelle("01", cord, true, 1,3); + Muelle m2 = new Muelle("01", cord, true, 1,2); + Muelle m3 = new Muelle("01", cord, true, 1,1); + Contenedor c = new Contenedor("DFR", 'J', "056731", 100, 400, 500, false, false); + Contenedor c2 = new Contenedor("ZZE", 'J', "056731", 100, 400, 500, false, true); + Contenedor c3 = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, false); + Contenedor c4 = new Contenedor("ZRR", 'J', "432422", 100, 400, 500, false, true); + m.colocarContenedorEnPlaza(c, 0); + assertEquals(0, m.plazasVacias(), m.plazasSemillenas()); + m.sacarContenedorDePlaza(c); + assertEquals(1, m.plazasVacias()); + assertEquals(0, m.plazasSemillenas()); + m2.colocarContenedorEnPlaza(c2, 0); + m2.colocarContenedorEnPlaza(c3, 0); + m2.sacarContenedorDePlaza(c3); + assertEquals(1, m2.plazasSemillenas()); + m2.sacarContenedorDePlaza(c2); + assertEquals(0, m2.plazasSemillenas(), m2.plazasLlenas()); + m.colocarContenedorEnPlaza(c2, 0); + m.colocarContenedorEnPlaza(c, 0); + assertEquals(0, m.plazasVacias(), m.plazasSemillenas()); + m.sacarContenedorDePlaza(c); + m.colocarContenedorEnPlaza(c4, 0); + assertEquals(1, m.plazasSemillenas()); + m.sacarContenedorDePlaza(c4); } - */ } -- GitLab