Testiranje


Glavna stran

TEST 4

Preverjam delovanje operacij vstaviZacetek in vstaviKonec, na vrstah, ki so narejene s tremi konstruktorji.

Pri obeh operacijah mora program javiti napako, če je vrsta že polna. Operaciji preverjam tudi z izpisom vrste in z vračanjem vrednosti operacij konec in zacetek.

  1. konstruktor: element vstavljam izmenično na začetek in na konec v vrsto, ki je na začetku prazna. Preverim z izpisom, če so elementi pravilno vstavljeni v vrsto. Nato poskusim vstaviti elemente v novo prazno vrsto, tokrat iz tabele (da preverim, če na tak način operacija ravno tako deluje), ki vsebuje max dovoljeno število elementov za to vrsto. To naredim dvakrat, za vsako operacijo v svojem programu, zato da lahko preverim ali program javi napako, ko poskušam vstaviti v polno vrsto še en element - ali na konec ali pa na začetek.

    Test4_k1_1_vstavi_vstaviKonec, Test4_k1_2_vstaviZacetek

    Preverjanje storim še na en način - v prazno vrsto vstavljam z zanko elemente iz tabele, ki vsebuje preveč elementov za to vrsto. Zopet imam dve verziji za obe operaciji. Pričakujem, da bo program prav tako javil napako, kar se tudi zgodi pri izvajanju zanke.

    Test4_k1_3_vstaviKonec, Test4_k1_4_vstaviZacetek

    Z zanko vstavim v vrsto tabelo s privzetimi vrednostmi elementov. Predvidevam, da bo program res vstavil tabelo v vrsto, ker vem že od prej, da vidi elemente takšne tabele kot ničle. To se tudi zgodi, kar preverim z izpisom.

    Test4_k1_5_vstaviprazno


  2. Enako storim z vrsto, ustvarjeno z 2. konstruktorjem, kjer ravno tako začnem s prazno vrsto, čeprav se zdi to morda na tem mestu nepotrebno, ker je situacija tako podobna kot pri vrsti narejeni s 1. konstruktorjem. Vendar s tem preverim, ali res dobim takšno velikost vrste, kot jo zapišem v konstruktor. Rezultati testa so uspešni in 2. konstruktor res upošteva vnešeno velikost vrste.

    Test4_k2_1_vstavi_vstaviKonec, Test4_k2_2_vstaviZacetek
    Test4_k2_3_vstaviKonec, Test4_k2_4_vstaviZacetek


  3. Pri 3. konstruktorju ne vstavljam toliko različnih tabel kot prej, ampak poskusim najprej s tabelo s privzetimi vrednostmi elementov, ki je manjša kot max dovoljena za vrsto. Zopet izmenično vstavljam elemente na začetek in konec vrste. Predvidevam, da ker program upošteva mesta vstavljene tabele kot število 0, bodo z operacijama vstavljena števila postavljena na konec oz. začetek te tabele. Npr. če vstavim v vrsto s pomočjo 3. konstruktorja dvomestno tabelo s privzetima vrednostima elementov, potem lahko vstavim še največ 7 elementov (konstruktor ustvari 10. mestno vrsto, kjer lahko hranim največ 9 elementov). Z izpisovanjem se moje predvidevanje tudi potrdi.

    Samo za primerjavo vstavim enako veliko tabelo v novo vrsto, tokrat tabelo, ki vsebuje dane elemente in ponovim par vstavljanj. Preverim z izpisom. Zgodi se enako kot prej - elementi so vstavljeni okrog elementov prvotne tabele. Nato vstavim v novo vrsto max možno veliko tabelo s privzetimi vrednostmi elementov in poskušam vstaviti še en element na konec oz. v drugi različici programa na začetek. Program javi napako po predvidevanjih.

    Test4_k3_1_vstavi_vstaviKonec, Test4_k3_2_vstaviZacetek

Zopet imam več verzij TEST4, za vsak konstruktor svojo in za preverjanje javljanja napak za vsako operacijo svojo. V vseh situacijah je test uspel in operaciji vstaviKonec in vstaviZacetek delujeta pravilno. Pri ustvarjanju vrste s 3. konstruktorjem - z vstavljanjem tabele s privzetimi vrednostmi elementov, se mesta v takšni tabeli štejejo kot zasedena mesta v vrsti, in sicer s številom 0 (kar že vemo iz TEST2).