Skip to content
Snippets Groups Projects
Commit 92dc8da0 authored by Ivan Gonzalez's avatar Ivan Gonzalez
Browse files

Se ha completado amigosPorColar() y se ha añido un método que dado un id de...

Se ha completado amigosPorColar() y se ha añido un método que dado un id de Persona en la cola, te da esa Persona
parent 12909f28
Branches
No related tags found
2 merge requests!3Develop,!2Cola
Pipeline #
......@@ -76,13 +76,7 @@ public class ColaDeAmigos {
throw new IllegalArgumentException("El id de la Persona a buscar debe ser positivo.");
if (!containsPersona(id))
throw new IllegalArgumentException("El id pasado debe estar asociado a una Persona de la cola.");
int idPersona = 0;
for (int i = 0; i < getCola().size(); i++) {
idPersona = getCola().get(i).getId();
if (idPersona == id)
return getCola().get(i).getMaxAmigos();
}
return 0;
return buscarPersona(id).getMaxAmigos();
}
/**
......@@ -92,6 +86,9 @@ public class ColaDeAmigos {
* Identificador de la Persona a buscar.
* @return true si el id corresponde a una Persona que está en la cola,
* false en caso contrario.
* @throws IllegalArgumentException
* si se incumple alguna de las condiciones impuestas al
* parámetro.
*/
public boolean containsPersona(int id) {
if (id < 0)
......@@ -103,6 +100,27 @@ public class ColaDeAmigos {
return false;
}
/**
* Buscará una Persona que tenga asociado el id que se pasa como parámetro.
*
* @param id
* Identificador de la Persona a buscar.Debe ser correcto:
* Positivo.
* @return la Persona con el id asociado, null si no hay ninguna con ese id.
* @throws IllegalArgumentException
* si se incumple alguna de las condiciones impuestas al
* parámetro.
*/
public Persona buscarPersona(int id) {
if (id < 0)
throw new IllegalArgumentException("El id de la Persona a buscar debe ser positivo.");
for (int i = 0; i < getCola().size(); i++) {
if (getCola().get(i).getId() == id)
return getCola().get(i);
}
return null;
}
/**
* Dado un identificador de una Persona que está en la cola, devolverá la
* cantidad de amigos que esa Persona puede colar aún.
......@@ -112,15 +130,18 @@ public class ColaDeAmigos {
* amigos que puede colar. Debe ser correcto: Positivo y debe
* estar en la cola.
* @return cantidad de amigos que aún puede colar la Persona que coincide
* con el id pasado como parámetro.Debe ser correcto: Positivo y
* debe haber una Persona con ese id en la cola.
* con el id pasado como parámetro.
* @throws IllegalArgumentException
* si se incumple alguna de las condiciones impuestas al
* parámetro.
*/
public int amigosPorColar(int id) {
// TODO Auto-generated method stub
return 0;
if (id < 0)
throw new IllegalArgumentException("El id de la Persona a buscar debe ser positivo.");
if (!containsPersona(id))
throw new IllegalArgumentException("El id pasado debe estar asociado a una Persona de la cola.");
return buscarPersona(id).getAmigosPorColar();
}
/**
......
......@@ -23,4 +23,19 @@ public class ColaDeAmigosTest {
colaDeAmigos.containsPersona(-1);
}
@Test
public void buscarPersonaCorrectoTest() {
ArrayList<Persona> cola = new ArrayList<Persona>();
ColaDeAmigos colaDeAmigos = new ColaDeAmigos(cola);
colaDeAmigos.buscarPersona(2);
assertEquals(null, colaDeAmigos.buscarPersona(2));
}
@Test(expected = IllegalArgumentException.class)
public void buscarPersonaConIdeDePersonaNegativoTest() {
ArrayList<Persona> cola = new ArrayList<Persona>();
ColaDeAmigos colaDeAmigos = new ColaDeAmigos(cola);
colaDeAmigos.buscarPersona(-1);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment