% vim: ft=prolog
:- use_module(library(julian)).
:- use_module(library(tap)).

'lookup: works like nth0' :-
    Xs = [a,b,c,d,e],
    julian:circular_nth0(0, Xs, A),
    julian:circular_nth0(1, Xs, B),
    julian:circular_nth0(2, Xs, C),
    julian:circular_nth0(3, Xs, D),
    julian:circular_nth0(4, Xs, E),
    \+ julian:circular_nth0(5, Xs, _),
    A == a,
    B == b,
    C == c,
    D == d,
    E == e.

'lookup: negative indexes' :-
    Xs = [a,b,c,d,e],
    julian:circular_nth0(-5, Xs, A),
    julian:circular_nth0(-4, Xs, B),
    julian:circular_nth0(-3, Xs, C),
    julian:circular_nth0(-2, Xs, D),
    julian:circular_nth0(-1, Xs, E),
    \+ julian:circular_nth0(-6, Xs, _),
    A == a,
    B == b,
    C == c,
    D == d,
    E == e.