class Testprogram{ private static int antallTester = 0; private static int antallPasserte = 0; private static int antallFeil = 0; public static void main(String[] args) { testPerson(); testSjaafor(); testMotorsykkel(); testBil(); testParkeringshus(); System.out.println("\n"+ antallTester + " tester ferdig"); System.out.println(antallPasserte + " passerte, " + antallFeil + " feil"); } public static void testPerson(){ System.out.println("Tester person:"); Person person = new Person("Tina", 32); sjekk(32, person.hentAlder(), "hentAlder skal hente 32"); sjekk("Tina", person.hentNavn(), "hentNavn skal hente Tina"); } public static void testSjaafor(){ System.out.println("Tester sjaafor:"); try { Sjaafor sjaafor = new Sjaafor("Test", 1); sjekkFeilet("Man skal ikke kunne lage en sjaafor som er 1 aar"); } catch (Exception e) { sjekkPasserte(); } try { Sjaafor sjaafor = new Sjaafor("Test", 18); sjekkPasserte(); } catch (Exception e) { sjekkFeilet("Man skal ikke kunne lage en sjaafor som er 18 aar gammel"); } try { Sjaafor sjaafor = new Sjaafor("Test", 81); sjekkPasserte(); } catch (Exception e) { sjekkFeilet("Man skal ikke kunne lage en sjaafor som er 81 aar gammel"); } } public static void testMotorsykkel(){ System.out.println("Tester motrosykkel:"); String regNr = "BS48532"; Motorsykkel motrosykkel = new Motorsykkel(regNr, new Sjaafor("Tina", 32)); Sjaafor sjaafor = motrosykkel.hentSjaafor(); sjekk(regNr, motrosykkel.hentRegNr(), "Forventer at regNr skal vaere " + regNr); sjekk("Tina", sjaafor.hentNavn(), "hentNavn skal hente Tina"); sjekk(32, sjaafor.hentAlder(), "hentAlder skal hente 32"); } public static void testBil(){ System.out.println("Tester Bil:"); String regNr = "BS48532"; Bil bil = new Bil(regNr, new Sjaafor("Tina", 32), 5); Person lise = new Person("Lise", 32); Person[] riktig = new Person[4]; sjekk(true, bil.fyllBil(lise), "Forventer at det skal vaere plass"); sjekk(lise, bil.hentPassasjerer()[0], "Lise skal vaere plasser paa den forste indeksen i lista" ); Person tom = new Person("Tom",3); Person[] arg = {new Person("Kari", 34), tom, new Person("Nemis", 56)}; sjekk(true, bil.fyllBil(arg), "Forventer at det skal vaere plass"); sjekk(tom, bil.hentPassasjerer()[2], "Tom skal vaere plasser paa den forste indeksen i lista" ); Person petter = new Person("Petter", 56); Person[] arg2 = {petter, new Person("Nora", 12)}; sjekk(false, bil.fyllBil(arg2), "Forventer at det ikke skal vaere plass"); sjekk(false, bil.fyllBil(petter), "Forventer at det ikke skal vaere plass"); } public static void testParkeringshus(){ String regNr = "BS48532"; Bil bil = new Bil(regNr, new Sjaafor("Tina", 32), 5); Motorsykkel motrosykkel = new Motorsykkel(regNr, new Sjaafor("Laika", 32)); Parkeringshus phus = new Parkeringshus(5); sjekk(false, phus.settKjoretoy(5, bil), "5 skal vaere uten for indeksen til plasser i Parkeringshus"); sjekk(false, phus.settKjoretoy(86, bil), "86 skal vaere uten for indeksen til plasser i Parkeringshus"); sjekk(true, phus.settKjoretoy(1, bil), "Bilen skal bli parkert"); sjekk(false, phus.settKjoretoy(1, motrosykkel), "Plassen skal allerede vaere tatt"); sjekk(true, phus.settKjoretoy(0, motrosykkel), "Motorsykkelen skal vaere parkert"); sjekkNull(phus.hentKjoretoy(5), "Skal vaere utenfor indeks"); sjekkNull(phus.hentKjoretoy(3), "ingen kjoretoy skal sta der"); sjekk(bil, phus.hentKjoretoy(1), "Bilen skal hentes"); sjekk(motrosykkel, phus.hentKjoretoy(0), "Motorsykkelen skal hentes"); } private static void sjekkNull(Object faktisk, String testmelding){ if(faktisk == null){ sjekkPasserte(); }else{ sjekkFeilet(testmelding); System.out.println(" > Forventet verdi: null"); System.out.println(" > Faktisk verdi: " + faktisk); } } private static void sjekk(Object forventet, Object faktisk, String testmelding) { if (forventet.equals(faktisk)) { sjekkPasserte(); } else { sjekkFeilet(testmelding); System.out.println(" > Forventet verdi: " + forventet); System.out.println(" > Faktisk verdi: " + faktisk); } } private static void sjekkPasserte() { antallTester++; antallPasserte++; System.out.println("- Test " + antallTester + ": OK"); } private static void sjekkFeilet(String testmelding) { antallTester++; antallFeil++; System.out.println("- Test " + antallTester + " feilet: " + testmelding); } }