% An example source file to be tested. % Add common rules missing in Prolog Cafe. memberchk(X, [H|T]) :- (X = H) -> true ; memberchk(X, T). % A rule that can succeed/backtrack multiple times. super_users(1001). super_users(1002). % Deterministic rule that pass/fail only once. is_super_user(X) :- memberchk(X, [1001, 1002]). % Another rule that can pass 5 times. multi_users(101). multi_users(102). multi_users(103). multi_users(104). multi_users(105). % Okay, single deterministic fact. single_user(abc). % Wrap calls to gerrit repository, to be redefined in tests. change_owner(X) :- gerrit:change_owner(X). % To test is_owner without gerrit:change_owner, % we should redefine change_owner. is_owner(X) :- change_owner(X).