Beispiel #1
0
        static void TestFjernOgSettMedIndeks()
        {
            Console.WriteLine("\nTest Fjern(pos) og Sett(pos, x) med indekser");
            Stabel <String> liste = new Stabel <String>();

            liste.LeggTil("Element 0");
            liste.LeggTil("Element 1");
            liste.LeggTil("Element 2");
            liste.LeggTil("Element 3");
            liste.LeggTil("Element 4");
            liste.Sett(0, "nyVerdi 0");
            liste.Sett(2, "nyVerdi 2");
            Sjekk("nyVerdi 0", liste.Hent(0), "Hent(0) etter Sett(0, \"nyVerdi 0\")");
            Sjekk("nyVerdi 2", liste.Hent(2), "Hent(2) etter Sett(2, \"nyVerdi 2\")");
            Sjekk("Element 3", liste.Fjern(3), "Fjern(3)");
            Sjekk("Element 4", liste.Fjern(3), "Fjern(3) for andre gang");
            liste.LeggTil("NyttElement");
            Sjekk("NyttElement", liste.Hent(3), "Hent(3) skal Hente nytt element lagt til etter at andre elementer har blitt Fjernet");
            Sjekk(4, liste.Stoerrelse(), "Stoerrelse() etter flere kall paa Fjern() og LeggTil()");
        }
Beispiel #2
0
        static void TestUnntak()
        {
            Console.WriteLine("\nTest unntak");
            Stabel <String> liste = new Stabel <String>();

            try
            {
                liste.Fjern(); // skal ikke fungere, men skal kaste et unntak
                               // hit kommer vi ikke om det ble kastet et unntak
                SjekkFeilet("Fjern() paa tom liste skulle kastet unntak");
            }
            catch (UgyldigListeIndeks)
            {
                SjekkPasserte();
            }

            try
            {
                liste.Fjern(0);
                SjekkFeilet("Fjern(0) paa tom liste skulle kastet unntak");
            }
            catch (UgyldigListeIndeks)
            {
                SjekkPasserte();
            }

            try
            {
                liste.Hent(0);
                SjekkFeilet("Hent(0) paa tom liste skulle kastet unntak");
            }
            catch (UgyldigListeIndeks)
            {
                SjekkPasserte();
            }

            try
            {
                liste.Sett(0, "asd");
                SjekkFeilet("Sett(0, ...) paa tom liste skulle kastet unntak");
            }
            catch (UgyldigListeIndeks)
            {
                SjekkPasserte();
            }

            try
            {
                liste.LeggTil(1, "asd");
                SjekkFeilet("LeggTil(1, ...) paa tom liste skulle kastet unntak - kun indeks 0 er gyldig i tom liste");
            }
            catch (UgyldigListeIndeks)
            {
                SjekkPasserte();
            }

            liste.LeggTil("Forste element");
            liste.LeggTil(1, "Andre element"); // Sette inn bakerst skal fungere
            try
            {
                liste.Fjern(2);
                SjekkFeilet("Fjern(2) paa liste med 2 elementer skulle kastet unntak");
            }
            catch (UgyldigListeIndeks)
            {
                SjekkPasserte();
            }

            try
            {
                liste.Hent(2);
                SjekkFeilet("Hent(2) paa liste med 2 elementer skulle kastet unntak");
            }
            catch (UgyldigListeIndeks)
            {
                SjekkPasserte();
            }

            try
            {
                liste.Sett(2, "2 er ugyldig indeks");
                SjekkFeilet("Sett(2, ...) paa liste med 2 elementer skulle kastet unntak");
            }
            catch (UgyldigListeIndeks)
            {
                SjekkPasserte();
            }

            try
            {
                liste.LeggTil(3, "3 er ugyldig indeks");
                SjekkFeilet("LeggTil(3, ...) paa liste med 2 elementer skulle kastet unntak");
            }
            catch (UgyldigListeIndeks)
            {
                SjekkPasserte();
            }

            try
            {
                liste.Fjern(-1);
                SjekkFeilet("Fjern(-1) skal kaste unntaket UgyldigListeIndeks");
            }
            catch (UgyldigListeIndeks)
            {
                SjekkPasserte();
            }

            try
            {
                liste.Hent(-1);
                SjekkFeilet("Hent(-1) skal kaste unntaket UgyldigListeIndeks");
            }
            catch (UgyldigListeIndeks)
            {
                SjekkPasserte();
            }

            try
            {
                liste.Sett(-1, "-1 er en ugyldig indeks!");
                SjekkFeilet("Sett(-1, ...) skal kaste unntaket UgyldigListeIndeks");
            }
            catch (UgyldigListeIndeks)
            {
                SjekkPasserte();
            }

            try
            {
                liste.LeggTil(-1, "-1 er en ugyldig indeks!");
                SjekkFeilet("LeggTil(-1, ...) skal kaste unntaket UgyldigListeIndeks");
            }
            catch (UgyldigListeIndeks)
            {
                SjekkPasserte();
            }
        }