begin migrating tests to pure prolog, correct bug in toplevel
This commit is contained in:
26
src/tests/facts.pl
Normal file
26
src/tests/facts.pl
Normal 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).
|
||||
Reference in New Issue
Block a user