andbin ha scritto:
centurione_agrippa ha scritto:
I miei casi di test non vanno bene ? Ci sono andato quasi vicino.
I tre casi che ho detto prima li ho pensati ragionando più sulle combinazioni dei nomi in uscita in base ai voti.
Non come hai detto tu es. "Successo quando sono stati inseriti tutti i voti per tutti gli alunni e per tutte le materie". Che detto così è vago e poco specifico.
Poi certo, se intendi fare in modo che se un voto è negativo il metodo migliori() lanci fuori una eccezione, allora ok, e puoi anche testarlo come caso di dati non validi.
Sono riuscito a fare altri due casi d'uso in cui i test hanno successo. per caso d'uso di un voto negativo ho fatto in questo modo e funziona ma non ne sono tanto sicuro:
@Test //voto inserito negativo.Fallisce
public void testVotoNegativo(){
reg.setVoto(new double[][] {
{ 8, 5, 3.5 },
{ 4, -9, 6.5 }, //fallisce
{ 5, 6, 7 },
{ 6, 3, 5 },
});
assertArrayEquals(new String[] { LUIGI, MARCO, NICOLA }, reg.migliori());
}
mentre per il secondo caso d'uso da far fallire avevo pensato ad un voto inserito maggiore di 10 fatto cosi:
@Test //voto inserito maggiore di 10. Fallisce
public void testVotoMaggiore(){
double voto [][] ={{7,8,6.5},
{4,5, 7 },
{9,7,6 },
{3,5,6 }};
for(int i=0; i<4;i++){
for(int j=0;j<4;j++){
assertFalse(voto[i][j]>10);
}
}
}
Il test con il numero negativo funziona mentre il test con il numero maggiore fallisce sempre