Skip to content
Snippets Groups Projects
Commit c7b343e8 authored by Javier Calvo's avatar Javier Calvo
Browse files

PuertoTest al completo

parent 4f4923d7
No related branches found
No related tags found
No related merge requests found
...@@ -3,6 +3,9 @@ ...@@ -3,6 +3,9 @@
*/ */
package es.markse; package es.markse;
import java.util.ArrayList;
import java.util.List;
/** /**
* Implementacion de la clase Contenedor * Implementacion de la clase Contenedor
* @author javcalv * @author javcalv
...@@ -15,6 +18,7 @@ public class Contenedor { ...@@ -15,6 +18,7 @@ public class Contenedor {
private float volumen; private float volumen;
private boolean transito; private boolean transito;
private boolean techo; private boolean techo;
private List<Trayecto> trayectos = new ArrayList<>();
/** /**
* Constructor del Objeto Contenedor * Constructor del Objeto Contenedor
...@@ -165,7 +169,6 @@ public class Contenedor { ...@@ -165,7 +169,6 @@ public class Contenedor {
return this.pesoTara*2.20462f; return this.pesoTara*2.20462f;
} }
//AÑADIR METODO PARA AÑADIR TRAYECTOS //AÑADIR METODO PARA AÑADIR TRAYECTOS
} }
\ No newline at end of file
...@@ -115,7 +115,7 @@ public class Muelle { ...@@ -115,7 +115,7 @@ public class Muelle {
/** /**
* 1.1.9 Metodo que devuelve la plaza de un contenedor dentro del muelle. * 1.1.9 Metodo que devuelve la plaza de un contenedor dentro del muelle.
* Las plazas van en orden, del 1 hasta la ultima plaza del muelle disponible * Las plazas van en orden, del 0 hasta la ultima plaza del muelle disponible
* @param codigo: codigo del contenedor para ver su plaza actual * @param codigo: codigo del contenedor para ver su plaza actual
* @return la plaza del contenedor o -1 si no se encuentra en ninguna plaza * @return la plaza del contenedor o -1 si no se encuentra en ninguna plaza
*/ */
...@@ -143,32 +143,24 @@ public class Muelle { ...@@ -143,32 +143,24 @@ public class Muelle {
return -1; return -1;
} }
/** /**
* 1.1.11 Metodo para colocar un contenedor en una plaza y apilarlo si es posible * Metodo para colocar un contenedor en una plaza y apilarlo si es posible
* @param codigo Codigo del contenedor que queremos colocar * @param codigo Codigo del contenedor que queremos colocar
* @param plaza La plaza del contenedor * @param plaza La plaza del contenedor
* @return Error si el contenedor ya esta apilado en ese muelle, si la plaza esta llena o si la plaza * @return Error si el contenedor ya esta apilado en ese muelle, si la plaza esta llena o si la plaza
* no pertenece al muelle (una plaza mayor a las que hay o menor a 0) * no pertenece al muelle (una plaza mayor a las que hay o menor a 0)
*/ */
public void colocarContenedorEnPlaza(Contenedor contenedor, int plaza) { public void colocarContenedorEnPlaza(Contenedor contenedor, int plaza) {
if (this.plazaActual(contenedor.getCodigo()) != -1) { Contenedor ultimo = this.plazas[plaza].ultimoContenedor();
throw new IllegalArgumentException("El contenedor ya esta apilado en este muelle"); // Verificar si hay un último contenedor y si tiene techo
} boolean teniaTecho = (ultimo != null && ultimo.tieneTecho());
else if(plaza<0 || plaza>this.plazas.length) {
throw new IllegalArgumentException("La plaza esta fuera del rango de las plazas del muelle. 0 -" + (this.numeroDePlazasTotales()-1));
}
else {
boolean teniaTecho = this.plazas[plaza].ultimoContenedor().tieneTecho();
if (this.plazas[plaza].colocarContenedor(contenedor)) { if (this.plazas[plaza].colocarContenedor(contenedor)) {
int plazasDespues = this.plazas[plaza].numeroContenedores(); int plazasDespues = this.plazas[plaza].numeroContenedores();
int plazasAntes = plazasDespues - 1; int plazasAntes = plazasDespues - 1;
this.actualizarPlazas(plazasAntes, plazasDespues, this.plazas[plaza], teniaTecho); this.actualizarPlazas(plazasAntes, plazasDespues, this.plazas[plaza], teniaTecho);
} }
else { else {
throw new IllegalArgumentException("La plaza esta llena"); throw new IllegalArgumentException("La plaza está llena");
}
} }
} }
...@@ -218,6 +210,13 @@ public class Muelle { ...@@ -218,6 +210,13 @@ public class Muelle {
} }
} }
/**
* Metodo para alternar techo (Test)
*/
public void alternarOperativo() {
this.operativo = !this.operativo;
}
/** /**
* Metodo que actualiza el numero de plazas (vacias, llenas, semillenas) al añadir o eliminar un contenedor * Metodo que actualiza el numero de plazas (vacias, llenas, semillenas) al añadir o eliminar un contenedor
* @param plazasAntes El numero de plazas antes de añadir o eliminar un contenedor * @param plazasAntes El numero de plazas antes de añadir o eliminar un contenedor
... ...
......
...@@ -86,9 +86,12 @@ public class Plaza { ...@@ -86,9 +86,12 @@ public class Plaza {
/** /**
* Metod que devuelve el ultimo contenedor de la Plaza * Metod que devuelve el ultimo contenedor de la Plaza
* @return ultimo contenedor de la plaza * @return ultimo contenedor de la plaza o null si esta vacio
*/ */
public Contenedor ultimoContenedor() { public Contenedor ultimoContenedor() {
if (contenedores.isEmpty()) {
return null;
}
return contenedores.get(contenedores.size() -1); return contenedores.get(contenedores.size() -1);
} }
... ...
......
...@@ -16,7 +16,8 @@ import es.uva.inf.poo.maps.GPSCoordinate; ...@@ -16,7 +16,8 @@ import es.uva.inf.poo.maps.GPSCoordinate;
* *
*/ */
public class Puerto { public class Puerto {
private String identificador; private String pais;
private String ciudad;
private List<Muelle> muelles = new ArrayList<>(); private List<Muelle> muelles = new ArrayList<>();
/** /**
...@@ -26,7 +27,8 @@ public class Puerto { ...@@ -26,7 +27,8 @@ public class Puerto {
*/ */
public Puerto(String pais, String ciudad) { public Puerto(String pais, String ciudad) {
comprobarIdentificador(pais, ciudad); comprobarIdentificador(pais, ciudad);
this.identificador = pais.toUpperCase()+"-"+ciudad.toUpperCase(); this.pais = pais.toUpperCase();
this.ciudad = ciudad.toUpperCase();
} }
/** /**
...@@ -45,18 +47,19 @@ public class Puerto { ...@@ -45,18 +47,19 @@ public class Puerto {
* Si no lo esta, lo agrega, si ya se encuentra agregado, no. * Si no lo esta, lo agrega, si ya se encuentra agregado, no.
* @param m objeto tipo Muelle * @param m objeto tipo Muelle
*/ */
public void anyadirMuelle(Muelle m) { public boolean anyadirMuelle(Muelle m) {
if (!this.comprobarMuelleEnPuerto(m)) { if (!this.comprobarMuelleEnPuerto(m)) {
this.muelles.add(m); return this.muelles.add(m);
} }
return false;
} }
/** /**
* 1.1.2 Método que elimina un muelle del puerto. * 1.1.2 Método que elimina un muelle del puerto.
* @param id : Identificador del muelle que se elimina * @param id : Identificador del muelle que se elimina
*/ */
public void eliminarMuelle(String id) { public boolean eliminarMuelle(String id) {
this.muelles.removeIf(muelle -> muelle.getIdentificador().equals(id)); return this.muelles.removeIf(muelle -> muelle.getIdentificador().equals(id));
} }
/** /**
...@@ -67,8 +70,9 @@ public class Puerto { ...@@ -67,8 +70,9 @@ public class Puerto {
*/ */
private boolean comprobarMuelleEnPuerto(Muelle m) { private boolean comprobarMuelleEnPuerto(Muelle m) {
String id = m.getIdentificador(); String id = m.getIdentificador();
GPSCoordinate cord = m.getGPSCoordinate();
for (Muelle muelle : this.muelles) { for (Muelle muelle : this.muelles) {
if (id.equals(muelle.getIdentificador())) { if (id.equals(muelle.getIdentificador())|| (cord.getDistanceTo(muelle.getGPSCoordinate())==0)) {
return true; return true;
} }
} }
...@@ -143,4 +147,47 @@ public class Puerto { ...@@ -143,4 +147,47 @@ public class Puerto {
return cercanos.toArray(new Muelle[0]); return cercanos.toArray(new Muelle[0]);
} }
/**
* 1.1.11 Metodo que almacena un Contenedor en el Muelle (Comprueba que ese contenedor no este en
* un puerto)
* @param m Muelle donde se almacena el contenedor
* @param c Contenedor a almacenar
* @param plaza Plaza donde se apilara el contenedor
* @return
*/
public void colocarContenedorEnMuelle(Muelle m, Contenedor c, int plaza) {
// Verificar si el muelle m está en la lista de muelles del puerto
if (!this.muelles.contains(m)) {
throw new IllegalArgumentException("El muelle no está en el puerto.");
}
// Comprobamos si la plaza está fuera del rango
if (plaza < 0 || plaza >= m.numeroDePlazasTotales()) {
throw new IllegalArgumentException("La plaza está fuera del rango de las plazas del muelle. 0 - " + (m.numeroDePlazasTotales() - 1));
}
// Comprobamos si ese contenedor ya está apilado en algún muelle
for (Muelle muelle : this.muelles) {
if (muelle.plazaActual(c.getCodigo()) != -1) {
throw new IllegalArgumentException("El contenedor ya está apilado en un muelle.");
}
}
// Si todas las verificaciones anteriores pasan, colocamos el contenedor en la plaza especificada
m.colocarContenedorEnPlaza(c, plaza);
}
/**
* Metodo que devuelve el pais del puerto
* @return pais del perto
*/
public String paisDelPuerto() {
return this.pais;
}
/**
* Metodo que devuelve la ciudad del puerto
* @return ciudad del puerto
*/
public String ciudadDelPuerto() {
return this.ciudad;
}
} }
...@@ -11,62 +11,51 @@ import java.time.LocalDate; ...@@ -11,62 +11,51 @@ import java.time.LocalDate;
*/ */
public class Trayecto { public class Trayecto {
public String MuelleOrigen; private Muelle muelleOrigen;
public String PuertoOrigen; private Puerto puertoOrigen;
//public String FechaInicioTrayecto; private LocalDate fechaInicioTrayecto;
LocalDate FechaInicioTrayecto; private Muelle muelleDestino;
public String MuelleDestino; private Puerto puertoDestino;
public String PuertoDestino; private LocalDate fechaFinTrayecto;
//public String FechaFinTrayecto;
LocalDate FechaFinTrayecto = LocalDate.of(2024, 11, 6); public Trayecto (Muelle MuelleOrigen, Puerto PuertoOrigen, LocalDate FechaInicioTrayecto, Muelle MuelleDestino, Puerto PuertoDestino, LocalDate FechaFinTrayecto) {
//hola this.muelleOrigen=MuelleOrigen;
this.puertoOrigen=PuertoOrigen;
this.fechaInicioTrayecto=FechaInicioTrayecto;
public Trayecto() { this.muelleDestino = MuelleDestino;
this.puertoDestino = PuertoDestino;
} this.fechaFinTrayecto = FechaFinTrayecto;
public Trayecto(LocalDate FechaInicioTrayecto) {
this.FechaInicioTrayecto = FechaInicioTrayecto;
}
public Trayecto (String MuelleOrigen, String PuertoOrigen, LocalDate FechaInicioTrayecto, String MuelleDestino, String PuertoDestino, LocalDate FechaFinTrayecto) {
this.MuelleOrigen=MuelleOrigen;
this.PuertoOrigen=PuertoOrigen;
this.FechaInicioTrayecto=FechaInicioTrayecto;
this.MuelleDestino = MuelleDestino;
this.PuertoDestino = PuertoDestino;
this.FechaFinTrayecto = FechaFinTrayecto;
} }
public boolean errorFechaFinTrayecto(LocalDate fechaDada) { public boolean errorFechaFinTrayecto(LocalDate fechaDada) {
if(FechaFinTrayecto.compareTo(fechaDada)!=0) { if(fechaFinTrayecto.compareTo(fechaDada)!=0) {
System.out.println("Las Fechas No Coinciden"); System.out.println("Las Fechas No Coinciden");
return true; return true;
}; };
System.out.println("Las Fechas Coinciden"); System.out.println("Las Fechas Coinciden");
return false; return false;
} }
public double precioTrayectoEnEuros(int costeDiarioTrayecto, int costePorMilla) {
public int precioTrayectoEnEuros() { int dias = fechaFinTrayecto.getDayOfYear()-fechaInicioTrayecto.getDayOfYear();
return 0; double dist = distanciaMillasMarinas();
return ((dias*costeDiarioTrayecto)+(dist*costePorMilla));
} }
public double distanciaMillasMarinas() {
public int distanciaMillasMarinas() { return muelleOrigen.getGPSCoordinate().getDistanceTo(muelleDestino.getGPSCoordinate());
return 0;
} }
public String inforTrayecto() { public String inforTrayecto() {
return"Puerto de Origen: "+this.PuertoOrigen; String ciudadOrig = this.puertoOrigen.ciudadDelPuerto();
String paisOrig = this.puertoOrigen.paisDelPuerto();
} String FechaInicio = this.fechaInicioTrayecto.toString();
String ciudadDest = this.puertoDestino.ciudadDelPuerto();
String paisDest = this.puertoDestino.paisDelPuerto();
String FechaFin = this.fechaFinTrayecto.toString();
return"INFORMACION SOBRE EL ORIGEN: \nCiudad Origen: "+ciudadOrig+"\nPais Origen: "+paisOrig+"\nFecha del Inicio: "+FechaInicio+
"\nINFORMACION SOBRE EL DESTINO: \nCiudad Destino: "+ciudadDest+"\nPais Destino: "+paisDest+"\nFecha del Fin: "+FechaFin;
} }
}
...@@ -14,14 +14,26 @@ import es.uva.inf.poo.maps.GPSCoordinate; ...@@ -14,14 +14,26 @@ import es.uva.inf.poo.maps.GPSCoordinate;
*/ */
public class PuertoTest { public class PuertoTest {
@Test(expected = IllegalArgumentException.class)
public void testCreacionPuertoInvalida() {
Puerto p = new Puerto("ES", "455");
}
@Test @Test
public void testPuerto() { public void testPuerto() {
Puerto p = new Puerto("ES","BAR"); Puerto p = new Puerto("ES","BAR");
assertEquals("ES", p.paisDelPuerto());
assertEquals("BAR", p.ciudadDelPuerto());
}
@Test(expected = IllegalArgumentException.class)
public void testCreacionPuertoCiudadInvalida() {
new Puerto("ES", "455");
}
@Test(expected = IllegalArgumentException.class)
public void testCreacionPuertoPaisInvalido() {
new Puerto("R3", "VAL");
}
@Test(expected = IllegalArgumentException.class)
public void testCreacionPuertoTodoInvalido() {
new Puerto("4R", "e32");
} }
@Test @Test
...@@ -33,36 +45,177 @@ public class PuertoTest { ...@@ -33,36 +45,177 @@ public class PuertoTest {
} }
@Test @Test
public void testAnyadirMuelleConMismoIDoMismaCoordenada() { public void testAnyadirMuelleRepetido() {
Puerto p = new Puerto("ES","BAR"); Puerto p = new Puerto("ES","BAR");
GPSCoordinate cord1 = new GPSCoordinate(5d, 10d); GPSCoordinate cord1 = new GPSCoordinate(5d, 10d);
GPSCoordinate cord2 = new GPSCoordinate(20d, -10d); GPSCoordinate cord2 = new GPSCoordinate(20d, -10d);
Muelle m = new Muelle("03", cord1, true, 40, 5); Muelle m = new Muelle("03", cord1, true, 40, 5);
p.anyadirMuelle(m);
Muelle mismoID = new Muelle("03", cord2, true, 40, 5); Muelle mismoID = new Muelle("03", cord2, true, 40, 5);
Muelle mismaCoordenada = new Muelle("05", cord1, true, 40, 5); Muelle mismaCoordenada = new Muelle("05", cord1, true, 40, 5);
p.anyadirMuelle(m);
assertFalse(p.anyadirMuelle(mismaCoordenada)); assertFalse(p.anyadirMuelle(mismaCoordenada));
assertFalse(p.anyadirMuelle(mismoID)); assertFalse(p.anyadirMuelle(mismoID));
} }
@Test @Test
public void testEliminarMuelle() { public void testEliminarMuelle() {
fail("Not yet implemented"); // TODO Puerto p = new Puerto("ES","BAR");
GPSCoordinate cord = new GPSCoordinate(5d, 10d);
Muelle m = new Muelle("03", cord, true, 40, 5);
p.anyadirMuelle(m);
assertTrue(p.eliminarMuelle("03"));
}
@Test
public void testEliminarMuelleQueNoEstaEnPuerto() {
Puerto p = new Puerto("ES","BAR");
assertFalse(p.eliminarMuelle("05"));
}
@Test
public void testComprobarSiEstaLleno() {
Puerto p = new Puerto("ES","BAR");
GPSCoordinate cord1 = new GPSCoordinate(5d, 10d);
GPSCoordinate cord2 = new GPSCoordinate(20d, -10d);
Muelle m1 = new Muelle("01", cord1, true, 1, 1);
Muelle m2 = new Muelle("04", cord2, true, 2, 1);
p.anyadirMuelle(m1);
p.anyadirMuelle(m2);
Contenedor c11 = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true);
Contenedor c21 = new Contenedor("RTZ", 'Z', "569026", 100, 400, 500, false, true);
Contenedor c22 = new Contenedor("WCD", 'Z', "432012", 100, 400, 500, false, true);
p.colocarContenedorEnMuelle(m1, c11, 0);
p.colocarContenedorEnMuelle(m2, c21, 0);
p.colocarContenedorEnMuelle(m2, c22, 1);
assertTrue(p.comprobarSiEstaLleno());
}
@Test
public void testComprobarSiEstaLlenoEsFalso() {
Puerto p = new Puerto("ES","BAR");
GPSCoordinate cord1 = new GPSCoordinate(5d, 10d);
GPSCoordinate cord2 = new GPSCoordinate(20d, -10d);
Muelle m1 = new Muelle("01", cord1, true, 1, 1);
Muelle m2 = new Muelle("04", cord2, true, 2, 1);
p.anyadirMuelle(m1);
p.anyadirMuelle(m2);
Contenedor c11 = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true);
Contenedor c21 = new Contenedor("RTZ", 'Z', "569026", 100, 400, 500, false, true);
p.colocarContenedorEnMuelle(m1, c11, 0);
p.colocarContenedorEnMuelle(m2, c21, 0);
assertFalse(p.comprobarSiEstaLleno());
} }
@Test @Test
public void testMuellesOperativos() { public void testMuellesOperativos() {
fail("Not yet implemented"); // TODO Puerto p = new Puerto("ES","BAR");
GPSCoordinate cord1 = new GPSCoordinate(5d, 10d);
GPSCoordinate cord2 = new GPSCoordinate(20d, -10d);
Muelle m1 = new Muelle("01", cord1, false, 1, 1);
Muelle m2 = new Muelle("04", cord2, false, 2, 1);
p.anyadirMuelle(m1);
p.anyadirMuelle(m2);
assertEquals(0, p.muellesOperativos().length);
m1.alternarOperativo();
m2.alternarOperativo();
Muelle[] muellesEsperados = {m1, m2};
assertArrayEquals(muellesEsperados, p.muellesOperativos());
} }
@Test @Test
public void testMuellesConEspacio() { public void testMuellesConEspacio() {
fail("Not yet implemented"); // TODO Puerto p = new Puerto("ES","BAR");
GPSCoordinate cord1 = new GPSCoordinate(5d, 10d);
Muelle m1 = new Muelle("01", cord1, true, 1, 1);
p.anyadirMuelle(m1);
Muelle[] muellesEsperados = {m1};
assertArrayEquals(muellesEsperados, p.muellesConEspacio());
Contenedor c11 = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true);
p.colocarContenedorEnMuelle(m1, c11, 0);
assertEquals(0, p.muellesConEspacio().length);
} }
@Test @Test
public void testMuellesCercanoAPunto() { public void testMuellesCercanoAPunto() {
fail("Not yet implemented"); // TODO Puerto p = new Puerto("ES","BAR");
GPSCoordinate cord1 = new GPSCoordinate(10d, 10d);
GPSCoordinate cord2 = new GPSCoordinate(-10d, -10d);
Muelle m1 = new Muelle("01", cord1, true, 1, 1);
Muelle m2 = new Muelle("05", cord2, true, 2, 2);
GPSCoordinate puntoDado = new GPSCoordinate(15d , 15d);
p.anyadirMuelle(m1);
p.anyadirMuelle(m2);
Muelle[] muelleCercanos = {m1};
assertArrayEquals(muelleCercanos, p.muellesCercanoAPunto(puntoDado));
puntoDado = new GPSCoordinate(0d , 0d);
Muelle[] muellesCercanos = {m1,m2};
assertArrayEquals(muellesCercanos, p.muellesCercanoAPunto(puntoDado));
}
@Test
public void testColocarContenedorEnMuelle() {
Puerto p = new Puerto("ES","BAR");
GPSCoordinate cord1 = new GPSCoordinate(10d, 10d);
Muelle m1 = new Muelle("01", cord1, true, 1, 1);
p.anyadirMuelle(m1);
Contenedor c11 = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true);
p.colocarContenedorEnMuelle(m1, c11, 0);
assertEquals(1, m1.plazasLlenas());
assertEquals(0, m1.plazasVacias());
assertEquals(0, m1.plazasSemillenas());
}
@Test(expected = IllegalArgumentException.class)
public void testColocarContenedorEnMuelleQueNoEstaEnPuerto() {
Puerto p = new Puerto("ES","BAR");
GPSCoordinate cord1 = new GPSCoordinate(10d, 10d);
Muelle m1 = new Muelle("01", cord1, true, 1, 1);
Contenedor c11 = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true);
p.colocarContenedorEnMuelle(m1, c11, 0);
}
@Test(expected = IllegalArgumentException.class)
public void testColocarContenedorEnMuelleConPlazaFueraDeRangoPorArriba(){
Puerto p = new Puerto("ES","BAR");
GPSCoordinate cord1 = new GPSCoordinate(10d, 10d);
Muelle m1 = new Muelle("01", cord1, true, 1, 1);
p.anyadirMuelle(m1);
Contenedor c11 = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true);
p.colocarContenedorEnMuelle(m1, c11, 1);
}
@Test(expected = IllegalArgumentException.class)
public void testColocarContenedorEnMuelleConPlazaFueraDeRangoPorAbajo(){
Puerto p = new Puerto("ES","BAR");
GPSCoordinate cord1 = new GPSCoordinate(10d, 10d);
Muelle m1 = new Muelle("01", cord1, true, 1, 1);
p.anyadirMuelle(m1);
Contenedor c11 = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true);
p.colocarContenedorEnMuelle(m1, c11, -1);
}
@Test(expected = IllegalArgumentException.class)
public void testColocarContenedorEnMuelleYaApilado() {
Puerto p = new Puerto("ES","BAR");
GPSCoordinate cord1 = new GPSCoordinate(10d, 10d);
Muelle m1 = new Muelle("01", cord1, true, 1, 1);
p.anyadirMuelle(m1);
Contenedor c11 = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true);
p.colocarContenedorEnMuelle(m1, c11, 0);
p.colocarContenedorEnMuelle(m1, c11, 0);
}
@Test(expected = IllegalArgumentException.class)
public void testColocarContenedorEnMuelleLleno() {
Puerto p = new Puerto("ES","BAR");
GPSCoordinate cord1 = new GPSCoordinate(10d, 10d);
Muelle m1 = new Muelle("01", cord1, true, 1, 1);
p.anyadirMuelle(m1);
Contenedor c11 = new Contenedor("ZRE", 'J', "056731", 100, 400, 500, false, true);
Contenedor c12 = new Contenedor("RTA", 'J', "056731", 100, 400, 500, false, true);
p.colocarContenedorEnMuelle(m1, c11, 0);
p.colocarContenedorEnMuelle(m1, c12, 0);
} }
} }
\ No newline at end of file
/**
*
*/
package es.markse;
/**
* @author javcavl
*
*/
public class UsaContenedor {
/**
* @param args
*/
public static void main(String[] args) {
//CONTENEDOR
Contenedor c = new Contenedor();
String codigo = c.getCodigo();
//cambiar el estado de un contenedor para reflejar que está en recogida
c.cambiarEstadoARecogida();
//cambiar el estado de un contenedor para reflejar que está en tránsito
c.cambiarEstadoATransito();
//cambiar a contenedor tiene techo o no
c.alternarTecho();
//obtener el volumen del contenedor en metros cúbicos
c.volumenEnMetrosCubicos();
//obtener el volumen del contenedor en pies cúbicos
c.volumenEnPiesCubicos();
//obtener el peso del contenedor en Kilogramos
c.obtenerPesoKilos();
//obtener el peso del contenedor en Libras
c.obtenerPesoLibras();
}
}
/**
*
*/
package es.markse;
import es.uva.inf.poo.maps.GPSCoordinate;
/**
* @author vicma
*
*/
public class UsaMuelle {
/**
* @param args
*/
public static void main(String[] args) {
GPSCoordinate cord = new GPSCoordinate(0d, 0d);
Muelle m = new Muelle(01, cord , true, 20, 3);
Puerto p = new Puerto("ES", "VAL");
Contenedor c = new Contenedor(01);
//Numero de plazas del muelle
int plazas = m.numeroDePlazasTotales();
//Numero de plazas vacias, semi-llenas, llenas
int plazasVacias = m.plazasVacias();
int plazasSemillenas = m.plazasSemillenas();
int plazasLlenas = m.plazasLlenas();
//Dado un codigo de contenedor, indicar la plaza en la que está
//Obtenemos el codigo del contenedor
String codigo = c.getCodigo();
int plaza = m.plazaActual(codigo);
//Dado un codigo de contenedor, indicar en que nivel de la plaza está
int nivel = m.nivelEnPlaza(codigo);
//Asignar un contenedor a una plaza y apilarlo encima de otro si es posible
int plazaElegida = 10;
boolean colocar = m.colocarContenedorEnPlaza(c, plazaElegida);
boolean sacar = m.sacarContenedorDePlaza(c);
}
}
/**
* Copyright UVa 2024/2025
*/
package es.markse;
import java.time.LocalDate;
import es.uva.inf.poo.maps.GPSCoordinate;
/**
* @author javcalv
* @author victorm
*
*/
public class UsaPuerto {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
definicionInicial();
}
private static void definicionInicial() {
//APARTADO DE PUERTO
GPSCoordinate cord = new GPSCoordinate(0d, 0d);
Muelle m = new Muelle(01, cord , true, 20, 3);
Puerto p = new Puerto("ES", "VAL");
//Añadir muelle
p.anyadirMuelle(m);
//Eliminar Muelle por su identificador
int id = m.getIdentificador();
p.eliminarMuelle(id);
//Comprobar si el puerto esta lleno o no
boolean llevo = p.comprobarSiEstaLleno();
//Obtener una lista de los muelles operativos
Muelle[] muellesOperativos = p.muellesOperativos();
//Obtener una lista de los muelles que tengan espacio
Muelle[] muellesConEspacio = p.muellesConEspacio();
//Muelles que se encuentren a una distancia inferior de punto GPS
GPSCoordinate puntoDado = new GPSCoordinate(0d, 0d);
double radio = 30d;
Muelle[] muelles = p.muellesCercanoAPunto(puntoDado);
//TRAYECTO
/**
Trayecto t = new Trayecto();
LocalDate fechaDada = LocalDate.of(2024, 10, 10);
t.esFechaSuperior(fechaDada)?
if (t.esFechaSuperior(fechaDada)) {
System.out.println("Si");
}
else {
System.out.println("No");
}
*/
}
}
package es.markse;
import java.time.LocalDate;
import java.util.*;
public class UsaTrayecto {
public static void main(String []args) {
Trayecto t = new Trayecto();
LocalDate fechaDada = LocalDate.of(2023, 11, 6);
//LocalDate t2 = LocalDate.of(2024, 11, 6);
//System.out.println(t1.compareTo(t2));
System.out.println(t.errorFechaFinTrayecto(fechaDada));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment