Buongiorno,
i test in questione sono eseguiti su IDE Eclipse (v. Mars Release (4.5.0) pacchetto sdk) e sono JUnit4.
Mi viene richiesto di scrivere "Un metodo che non restituisce nessun valore, ?aggiungiPaziente,? che dato un Paziente
lo aggiunge alla lista ?persone? solo se non esiste già nella lista un Paziente con idcartellaclinica maggiore di quello del paziente passato; altrimenti, il metodo deve sollevare un’eccezione esattamente di tipo ?RuntimeException?, col seguente messaggio Paziente non valido?."
Ciò che non mi torna è che mi diano fallimenti riguardo a questo codice:
Metodo inserito nella classe Ospedale:
public void aggiungiPaziente(Paziente p) {
for (Persona persona : persone) {
if (persona instanceof Paziente)
if ((p.getidcartellaclinica() < ((Paziente) persona).getidcartellaclinica()))
throw new RuntimeException("Paziente non valido");
}
persone.add(p);
}
Classe Paziente (Persona è una classe astratta con variabile d'istanza nome e costruttore per inizializzarla):
public class Paziente extends Persona {
private final int idcartellaclinica;
public Paziente(String nome, int id) {
super(nome);
idcartellaclinica = id;
}
public int getidcartellaclinica() {
return idcartellaclinica;
}
@Override
public String toString() {
return "Paziente[nome=" + getNome() + "][idcartellaclinica=" + getidcartellaclinica() + "]";
}
}
I fallimenti sono questi: