import java.util.Collection; import java.util.List; import formula1.Campionato; import formula1.GP; import formula1.Pilota; import formula1.Tempo; import formula1.TempoNonValido; import junit.framework.TestCase; /** * @author Marco Torchiano * */ public class TestR4_Graduatoria extends TestCase { public void testPosizione() throws TempoNonValido{ Campionato c=new Campionato(); String nome = "Imola"; GP gp = c.definisciGranPremio(nome); Pilota r = c.creaPilota("Barrichello"); Pilota d = c.creaPilota("Coulthard"); int hours = 0; int min = 50; int sec = 10; int cent = 33; c.setTempo(gp,r,hours,min,sec,cent); sec+=15; c.setTempo(gp,d,hours,min,sec,cent); int pr = gp.getPosizione(r); int pd = gp.getPosizione(d); assertEquals("Dovrebbe essere in prima posizione",1,pr); assertEquals("Dovrebbe essere in seconda posizione",2,pd); } public void testDisputati() throws TempoNonValido{ Campionato c=new Campionato(); GP imola = c.definisciGranPremio("Imola"); GP monza = c.definisciGranPremio("Monza"); Pilota r = c.creaPilota("Barrichello"); Pilota d = c.creaPilota("Coulthard"); Pilota s = c.creaPilota("Schumi"); int hours = 0; int min = 50; int sec = 10; int cent = 33; c.setTempo(imola,r,hours,min,sec,cent); sec+=15; c.setTempo(imola,d,hours,min,sec+15,cent); c.setTempo(imola,s,hours,min,sec-5,cent); c.setTempo(monza,r,hours+1,min,sec,cent); sec+=15; c.setTempo(monza,d,hours+1,min,sec+5,cent); //c.setTempo(monza,s,hours+1,min,sec+15,cent); Collection disp = r.getDisputati(); assertTrue("Elenco gran premi disputati incompleto",disp.contains(imola)); assertTrue("Elenco gran premi disputati incompleto",disp.contains(monza)); Collection ds = s.getDisputati(); assertTrue("Elenco gran premi disputati incompleto",ds.contains(imola)); assertFalse("Elenco gran premi disputati include troppi GP",ds.contains(monza)); } public void testPunti() throws TempoNonValido{ Campionato c=new Campionato(); GP imola = c.definisciGranPremio("Imola"); GP monza = c.definisciGranPremio("Monza"); Pilota r = c.creaPilota("Barrichello"); Pilota d = c.creaPilota("Coulthard"); Pilota s = c.creaPilota("Schumi"); int hours = 0; int min = 50; int sec = 10; int cent = 33; c.setTempo(imola,r,hours,min,sec,cent); c.setTempo(imola,d,hours,min,sec+15,cent); c.setTempo(imola,s,hours,min,sec-5,cent); c.setTempo(monza,r,hours+1,min,sec,cent); c.setTempo(monza,d,hours+1,min,sec+5,cent); c.setTempo(monza,s,hours+1,min,sec+15,cent); hours+=10; assertEquals("Punteggio errato",8+10,r.getPunti()); assertEquals("Punteggio errato",6+8,d.getPunti()); assertEquals("Punteggio errato",10+6,s.getPunti()); } public void testClassifica() throws TempoNonValido{ Campionato c=new Campionato(); GP imola = c.definisciGranPremio("Imola"); GP monza = c.definisciGranPremio("Monza"); Pilota r = c.creaPilota("Barrichello"); Pilota d = c.creaPilota("Coulthard"); Pilota s = c.creaPilota("Schumi"); int hours = 0; int min = 50; int sec = 10; int cent = 33; c.setTempo(imola,r,hours,min,sec,cent); c.setTempo(imola,d,hours,min,sec+15,cent); c.setTempo(imola,s,hours,min,sec-5,cent); c.setTempo(monza,r,hours+1,min,sec,cent); c.setTempo(monza,d,hours+1,min,sec+5,cent); c.setTempo(monza,s,hours+1,min,sec+15,cent); List classifica = c.getClassifica(); assertSame("Prima posizione classifica errata",r,classifica.get(0)); assertSame("Seconda posizione classifica errata",s,classifica.get(1)); assertSame("Terza posizione classifica errata",d,classifica.get(2)); } }