update tests

This commit is contained in:
Mark Thom
2019-12-07 19:21:09 -07:00
parent d6e75110a5
commit f16c2a6e99
6 changed files with 61 additions and 0 deletions

View File

@@ -1,3 +1,4 @@
:- module(tests_on_builtins, []).
:- use_module(library(lists)).
:- use_module(library(non_iso)).

View File

@@ -0,0 +1,54 @@
:- module(tests_on_call_with_inference_limit, []).
:- use_module(library(lists)).
:- use_module(library(non_iso)).
:- dynamic(f/1).
:- dynamic(g/1).
test_queries_on_call_with_inference_limit :-
catch(call_with_inference_limit(throw(error), 0, inference_limit_exceeded),
error,
true),
catch(call_with_inference_limit(throw(error), 1, inference_limit_exceeded),
error,
true),
\+ call_with_inference_limit(g(X), 5, R),
maplist(assertz, [g(1), g(2), g(3), g(4), g(5)]),
findall([R,X],
call_with_inference_limit(g(X), 10, R),
[[true, 1],
[true, 2],
[true, 3],
[true, 4],
[!, 5]]),
findall([R,X],
(call_with_inference_limit(g(X), 10, R), call(true)),
[[true, 1],
[true, 2],
[true, 3],
[true, 4],
[!, 5]]),
findall([R,X],
(call_with_inference_limit(g(X), 4, R), call(true)),
[[true, 1],
[true, 2],
[inference_limit_exceeded, _]]),
findall([X,R1,R2],
(call_with_inference_limit(g(X), 4, R1),
call_with_inference_limit(g(X), 5, R2)),
[[1,true,!],
[2,true,!],
[3,true,!],
[4,true,!],
[5,!,!]]),
\+ \+ assertz((f(X) :- call_with_inference_limit(g(X), 8, _))),
findall([R,X],
call_with_inference_limit(f(X), 12, R),
[[true,1],
[true,2],
[true,3],
[true,4],
[!,5]]).
:- initialization(test_queries_on_call_with_inference_limit).

View File

@@ -1,3 +1,5 @@
:- module(tests_on_facts, []).
:- dynamic(p/2).
:- dynamic(p/3).

View File

@@ -1,3 +1,4 @@
:- module(test_on_predicates, []).
:- dynamic(p/2).
:- dynamic(p/3).

View File

@@ -1,3 +1,5 @@
:- module(tests_on_rules, []).
:- dynamic(p/3).
:- dynamic(p/2).
:- dynamic(q/2).

View File

@@ -1,3 +1,4 @@
:- module(test_on_setup_call_cleanup, []).
:- use_module(library(non_iso)).