begin migrating tests to pure prolog, correct bug in toplevel

This commit is contained in:
Mark Thom
2019-11-16 19:15:07 -07:00
parent cee3dbc453
commit bcfd7cbf8d
7 changed files with 188 additions and 3542 deletions

26
src/tests/facts.pl Normal file
View File

@@ -0,0 +1,26 @@
:- dynamic(p/2).
:- dynamic(p/3).
p(Z, Z).
clouds(are, nice).
p(Z, h(Z, W), f(W)).
test_queries_on_facts :-
findall(Z, p(Z, Z), [Z]),
findall(Z, p(Z, z), [z]),
findall(Z, p(Z, w), [w]),
\+ p(z, w),
p(w, w),
\+ clouds(Z, Z),
findall(Z, clouds(are, Z), [nice]),
\+ p(z, h(z, z), f(w)),
p(z, h(z, w), f(w)),
findall(W, p(z, h(z, W), f(w)), [w]),
findall(Z, p(Z, h(Z, w), f(Z)), [w]),
\+ p(z, h(Z, w), f(Z)),
retract(p(_,_,_)),
assertz(p(Z, h(Z, W), f(W))),
p(f(f(a)), h(f(f(a)), f(a)), f(f(a))),
retract(p(Z, h(Z, W), f(W))).
:- initialization(test_queries_on_facts).