From: Mark Thom Date: Sun, 8 Dec 2019 02:21:09 +0000 (-0700) Subject: update tests X-Git-Tag: v0.8.118~35 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=f16c2a6e991fc67218bc0db6ebafee110ff43d4a;p=scryer-prolog.git update tests --- diff --git a/src/tests/builtins.pl b/src/tests/builtins.pl index 9b3760d1..6b4c63b6 100644 --- a/src/tests/builtins.pl +++ b/src/tests/builtins.pl @@ -1,3 +1,4 @@ +:- module(tests_on_builtins, []). :- use_module(library(lists)). :- use_module(library(non_iso)). diff --git a/src/tests/call_with_inference_limit.pl b/src/tests/call_with_inference_limit.pl new file mode 100644 index 00000000..c16c7291 --- /dev/null +++ b/src/tests/call_with_inference_limit.pl @@ -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). diff --git a/src/tests/facts.pl b/src/tests/facts.pl index 7c33ac7e..a81f6814 100644 --- a/src/tests/facts.pl +++ b/src/tests/facts.pl @@ -1,3 +1,5 @@ +:- module(tests_on_facts, []). + :- dynamic(p/2). :- dynamic(p/3). diff --git a/src/tests/predicates.pl b/src/tests/predicates.pl index 27249766..44d0b064 100644 --- a/src/tests/predicates.pl +++ b/src/tests/predicates.pl @@ -1,3 +1,4 @@ +:- module(test_on_predicates, []). :- dynamic(p/2). :- dynamic(p/3). diff --git a/src/tests/rules.pl b/src/tests/rules.pl index 45bfaf6d..600daaf6 100644 --- a/src/tests/rules.pl +++ b/src/tests/rules.pl @@ -1,3 +1,5 @@ +:- module(tests_on_rules, []). + :- dynamic(p/3). :- dynamic(p/2). :- dynamic(q/2). diff --git a/src/tests/setup_call_cleanup.pl b/src/tests/setup_call_cleanup.pl index b3c6a9bb..8f15ae4b 100644 --- a/src/tests/setup_call_cleanup.pl +++ b/src/tests/setup_call_cleanup.pl @@ -1,3 +1,4 @@ +:- module(test_on_setup_call_cleanup, []). :- use_module(library(non_iso)).