From 1139b3b4c19d72e99522a17703639813a2320101 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Wed, 20 Nov 2019 23:50:51 -0700 Subject: [PATCH] small test updates --- src/prolog/toplevel.pl | 1 + src/tests/builtins.pl | 8 +++---- src/tests/rules.pl | 52 ++++++++++++++++++++++++------------------ 3 files changed, 35 insertions(+), 26 deletions(-) diff --git a/src/prolog/toplevel.pl b/src/prolog/toplevel.pl index f9eba5dd..f5a8f484 100644 --- a/src/prolog/toplevel.pl +++ b/src/prolog/toplevel.pl @@ -30,6 +30,7 @@ ; consult(Item) ) ; catch(throw(error(type_error(atom, Item), repl/0)), + E, '$print_exception_with_check'(E)) ). '$instruction_match'(Term, VarList) :- diff --git a/src/tests/builtins.pl b/src/tests/builtins.pl index 4b614023..9b3760d1 100644 --- a/src/tests/builtins.pl +++ b/src/tests/builtins.pl @@ -21,7 +21,7 @@ test_queries_on_builtins :- atomic(0.0), \+ atomic([a,b,c]), \+ atomic(atop(the_trees)), - findall(X, ( var(X), X = 3, atomic(X) ), [3]), + \+ \+ findall(X, ( var(X), X = 3, atomic(X) ), [3]), \+ ( var(X), X = 3, var(X) ), arg(1, f(a,b,c,d), a), arg(2, f(a,b,c,d), b), @@ -35,7 +35,7 @@ test_queries_on_builtins :- catch(functor(_,"sdf",3),error(type_error(atom,[s,d,f]),_),true), f(1,2,3) =.. [f,1,2,3], length([a,b,c], 3), - copy_term([[[[X,Y],Y],X]],[[[[Z,V],V],Z]]), + \+ \+ copy_term([[[[X,Y],Y],X]],[[[[Z,V],V],Z]]), \+ ( X = g(X,Y), Y = f(X), copy_term(Y,g(Z)) ), float(3.14159269), \+ float(3), @@ -123,7 +123,7 @@ test_queries_on_builtins :- \+ \+ (variant([X,Y,X], [V,W,V])), \+ \+ (g(B) = B, g(A) = A, variant(A, B)), keysort([1-1,1-1],[1-1,1-1]), - findall(Sorted, keysort([2-99,1-a,3-f(_),1-z,1-a,2-44],Sorted), [[1-a,1-z,1-a,2-99,2-44,3-f(_)]]), - findall(X, keysort([X-1,1-1],[2-1,1-1]), [2]). + \+ \+ findall(Sorted, keysort([2-99,1-a,3-f(_),1-z,1-a,2-44],Sorted), [[1-a,1-z,1-a,2-99,2-44,3-f(_)]]), + \+ \+ findall(X, keysort([X-1,1-1],[2-1,1-1]), [2]). :- initialization(test_queries_on_builtins). diff --git a/src/tests/rules.pl b/src/tests/rules.pl index 2931d6f6..45bfaf6d 100644 --- a/src/tests/rules.pl +++ b/src/tests/rules.pl @@ -10,46 +10,54 @@ q(q, s). r(s, t). test_queries_on_rules :- - findall([X,Y], p(X, Y), [[q, t]]), + \+ \+ findall([X,Y], p(X, Y), [[q, t]]), p(q, t), \+ p(t, q), - findall(T, p(q, T), [t]), + \+ \+ findall(T, p(q, T), [t]), \+ p(t, t), - retract((p(X,Y) :- q(X,Z), r(Z, Y))), + \+ \+ retract((p(X,Y) :- q(X,Z), r(Z, Y))), retract(q(_,_)), - assertz((p(X,_) :- q(f(f(X)), _), r(_, _))), - assertz(q(f(f(X)), r)), + \+ \+ assertz((p(X,_) :- q(f(f(X)), _), r(_, _))), + \+ \+ assertz(q(f(f(X)), r)), p(_,_), retract(q(_,_)), assertz(q(f(f(x)), r)), - findall(X, p(X,_), [x]), - retract((p(X,_) :- q(f(f(X)), _), r(_, _))), + \+ \+ findall(X, p(X,_), [x]), + \+ \+ retract((p(X,_) :- q(f(f(X)), _), r(_, _))), retract(q(_,_)), - assertz((p(X, Y) :- q(X, Y), r(X, Y))), + \+ \+ assertz((p(X, Y) :- q(X, Y), r(X, Y))), assertz(q(s, t)), retract(r(_,_)), - assertz((r(X, Y) :- r(a))), + \+ \+ assertz((r(X, Y) :- r(a))), assertz(r(a)), - findall([X,Y], p(X, Y), [[s,t]]), + \+ \+ findall([X,Y], p(X, Y), [[s,t]]), \+ p(t, _), - findall(T, p(s, T), [t]), - findall(S, p(S, t), [s]), - assertz((p(f(f(a), g(b), X), g(b), h) :- q(X, Y))), + \+ \+ findall(T, p(s, T), [t]), + \+ \+ findall(S, p(S, t), [s]), + \+ \+ assertz((p(f(f(a), g(b), X), g(b), h) :- q(X, _))), retract(q(_,_)), assertz(q(_,_)), - findall([X,Y,Z], p(f(X, Y, Z), g(b), h), [[f(a), g(b), _]]), + \+ \+ findall([X,Y,Z], p(f(X, Y, Z), g(b), h), [[f(a), g(b), _]]), \+ p(f(X, g(_), Z), g(Z), X), - findall([X,Y,Z], p(f(X, g(Y), Z), g(Z), h), [[f(a), b, b]]), - findall([X,Y,Z], p(Z, Y, X), [[h, g(b), f(f(a),g(b),_)]]), - findall([X,Y,Z], p(f(X, Y, Z), Y, h), [[f(a), g(b), _]]), - retract((p(X, Y) :- q(X, Y), r(X, Y))), - retract((p(f(f(a), g(b), X), g(b), h) :- q(X, _))), - assertz((p(_, f(_, Y, _)) :- h(Y))), + \+ \+ findall([X,Y,Z], p(f(X, g(Y), Z), g(Z), h), [[f(a), b, b]]), + \+ \+ findall([X,Y,Z], p(Z, Y, X), [[h, g(b), f(f(a),g(b),_)]]), + \+ \+ findall([X,Y,Z], p(f(X, Y, Z), Y, h), [[f(a), g(b), _]]), + \+ \+ retract((p(X, Y) :- q(X, Y), r(X, Y))), + \+ \+ retract((p(f(f(a), g(b), X), g(b), h) :- q(X, _))), + \+ \+ assertz((p(_, f(_, Y, _)) :- h(Y))), assertz(h(y)), - findall(Y, p(_, f(_, Y, _)), [y]). + \+ \+ findall(Y, p(_, f(_, Y, _)), [y]). p(_, f(_, y, _)), \+ p(_, f(_, z, _)), - retract((p(_, f(_, Y, _)) :- h(Y))). + \+ \+ retract((p(_, f(_, Y, _)) :- h(Y))), + cleanup. + +cleanup :- abolish(p/3), + abolish(p/2), + abolish(q/2), + abolish(r/2), + abolish(r/1), + abolish(h/1). :- initialization(test_queries_on_rules). -- 2.54.0