Pri tem testu se osredotočim na opazovanje delovanja operacij po modulu, ki sem jih v prejšnji testih malo zanemarila in preverjam tudi delovanje operacije velikost. Delovanje po modulu preverjam torej pri operacijah: vstaviKonec, odstraniZacetek, vstaviZacetek, odstraniKonec, velikost. Operacija zacetek pravilno deluje po modulu, kar že vem iz TEST3. Operacija konec pa se ne računa po modulu, ampak samo vrne element, ki se nahaja na indeksu k.
Še vedno velja:
z - indeks zadnjega prostega mesta pred začetkom vrste
k - indeks zadnjega elementa v vrsti
n - velikost tabele - št. mest na razpolago za vstavljanje
Naredim 10. mestno vrsto in vstavim vanjo vsaj 2 elementa. Indeks z trenutno kaže na z = 9 in prvi element vrste se nahaja na indeksu 0. Če prvi element pobrišem, mora z postati z = 0, prvi element vrste pa bo na indeksu 1. Tako preverim delovanje operacije odstraniZacetek po modulu n (pravzaprav je bilo to razvidno že iz TEST5). Če zdaj vstavim nov element na začetek, mora z postati z = 9 in začetek vrste bo na indeksu 0. Tako preverim krožno delovanje operacije vstaviZacetek. Obe operaciji preverim z izpisom začetka, dodatno pa preverjam še z izpisom celotne vrste. Obe operaciji delujeta po modulu.
Potrebujem vrsto, kjer bodo elementi že razporejeni krožno.
S tem, ko se v vrsto, za katero vem, da ima elemente že postavljene do zadnjega
indeksa v tabeli, vstavljajo na konec novi elementi na prve indekse, pokažem, da
operacija vstaviKonec res deluje po modulu n.
Ko pobrišem elemente s konca vrste, se pravi z indeksov 1 in 0, postane k = 9, s
čimer pokažem, da tudi operacija odstraniKonec deluje v krožno predstavljeni
tabeli.
Oboje preverim z izpisom začetka in konca vrste, dodatno pa preverjam
še z izpisom celotne vrste. Obe operaciji delujeta po modulu.
Že v 1. in 2. delu testa sproti pregledujem operacijo velikost z izpisovanjem -
ali res pravilno šteje elemente v vrsti. Na prejšnjih primerih vrst lahko preverim
štetje elementov v obeh variantah vrste, kjer je k < z in kjer je k > z.
V obeh primerih se izkaže, da operacija pravilno šteje elemente tudi po modulu n.
Posebej preverim situacijo na prazni vrsti, ustvarjeni s 1. konstruktorjem in na vrsti
z vstavljeno tabelo s privzetimi vrednostmi elementov, ustvarjeno s 3. konstruktorjem.
Za primerjavo vstavim z zanko v prazno vrsto enako veliko tabelo s privzetimi
vrednostmi elementov. V prvem primeru pričakujem, da bo rezultat 0, v drugem in tretjem
pa, da bodo mesta v tabeli upoštevana kot polna, kar se tudi zgodi.