public class TestAListe { private static int antallTester = 0; private static int antallPasserte = 0; private static int antallFeil = 0; public static void main(String[] args) { testTomListe(); testEtElement(); testLeggTilOgFjernFlereVerdier(); testAListeSortert(); System.out.println("\n"+ antallTester + " tester ferdig"); System.out.println(antallPasserte + " passerte, " + antallFeil + " feil"); } public static void testTomListe() { System.out.println("Test tom liste"); AListe liste = new AListe<>(); sjekk(0, liste.hentStorrelse(), "hentStorrelse() i tom liste"); } public static void testEtElement() { System.out.println("\nTest ett element"); AListe liste = new AListe<>(); liste.leggTil(0, "null"); sjekk(1, liste.hentStorrelse(), "hentStorrelse() i liste med ett element"); sjekk("null", liste.hent(0), "hent(0) i liste med ett element"); sjekk("null", liste.fjern(0), "fjern(0) i liste med ett element"); sjekk(0, liste.hentStorrelse(), "hentStorrelse() i tom liste"); } public static void testLeggTilOgFjernFlereVerdier() { System.out.println("\nTest leggTil() og fjern() med flere elementer"); AListe liste = new AListe<>(); liste.leggTil(0, "null"); liste.leggTil(1, "en"); liste.leggTil(2, "to"); liste.leggTil(4, "fire"); sjekk(4, liste.hentStorrelse(), "hentStorrelse() i liste med 4 elementer"); sjekk("fire", liste.hent(4) , "hent(4) i liste med 4 elementer"); sjekk("null", liste.hent(0) , "hent(0) i liste med 4 elementer"); sjekk("en", liste.hent(1) , "hent(1) i liste med 4 elementer"); sjekk("to", liste.fjern(2), "fjern(2) i liste med 4 elementer"); sjekk(3, liste.hentStorrelse(), "hentStorrelse() i liste med 3 elementer"); sjekk(null , liste.fjern(10), "fjern(10) i liste med 3 elementer"); sjekk("fire" , liste.fjern(4), "fjern(4) i liste med 3 elementer"); sjekk(2, liste.hentStorrelse(), "hentStorrelse() i liste med 2 elementer"); } public static void testAListeSortert() { System.out.println("\nTest AListeSortert"); AListe liste = new AListeSortert<>(); liste.leggTil(2, "to"); liste.leggTil(0, "null"); liste.leggTil(4, "fire"); liste.leggTil(1, "en"); sjekk("fire", liste.hentPaaIndeks(0) , "4 er fremst i sortert liste"); sjekk("to", liste.hentPaaIndeks(1) , "2 er nest fremst i sortert liste"); sjekk("en", liste.hentPaaIndeks(2) , "1 er tredje fremst i sortert liste"); sjekk("null", liste.hentPaaIndeks(3) , "0 er sist i sortert liste"); } public static void sjekk(Object forventet, Object faktisk, String testmelding) { antallTester++; if (forventet == null) { if (faktisk == null) sjekkPasserte(); else { sjekkFeilet(testmelding); System.out.println(" > Forventet verdi: " + forventet); System.out.println(" > Faktisk verdi: " + faktisk); } } else { if (forventet.equals(faktisk)) { sjekkPasserte(); } else { sjekkFeilet(testmelding); System.out.println(" > Forventet verdi: " + forventet); System.out.println(" > Faktisk verdi: " + faktisk); } } } public static void sjekkPasserte() { antallPasserte++; System.out.println("- Test " + antallTester + ": OK"); } public static void sjekkFeilet(String testmelding) { antallFeil++; System.out.println("- Test " + antallTester + " feilet: " + testmelding); } }