-- TEST VARIOUS PUTS AND GETS IN SEQUECE USING X0SEQ PACKAGE

with Instrument, X0seq;
use Instrument;

procedure Vpgsa2 is

    package Intseq is new X0seq (50, Integer);

    use Intseq;

    My_Sequence : Sequence;

    X : Integer;

begin

    Start ("VPGSA2", "PUT_NEXT, GET_CURRENT, PUT_CURRENT, GET_CURRENT" &
                        ", 1000 TIMES, 5000 ALLOCATIONS");
    for Ii in 1 .. 1000 loop

        Reset (My_Sequence);

        for I in 1 .. 5 loop

            Put_Next (My_Sequence, I);

        end loop;

        Get_Current (My_Sequence, X);

        if

           X /= 5

            then

            Comment
               ("GET_CURRENT DOESN'T RETURN THE CURRENT VALUE AFTER PUT_NEXT");

        end if;

        Put_Current (My_Sequence, 6);

        Get_Current (My_Sequence, X);

        if

           X /= 6

            then

            Comment
               ("GET_CURRENT DOESN'T RETURN THE RIGHT VALUE AFTER PUT_CURRENT");

        end if;

    end loop;

    Stop;

end Vpgsa2;