Skip to content

Commit 628c750

Browse files
committed
Better feedback from assert_gt/2 (etc) for expressions. Closes #29
1 parent 66752ea commit 628c750

2 files changed

Lines changed: 22 additions & 10 deletions

File tree

plunit_assert.pl

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,9 @@
259259
call_protected(A > B, fail_assert_gt(A, B)).
260260

261261
fail_assert_gt(A, B) :-
262-
feedback('Does not hold: ~w is not greater than ~w', [A, B]).
262+
pretty_with_eval(A, PA),
263+
pretty_with_eval(B, PB),
264+
feedback('Comparison failed: ~w is not greater than ~', [PA, PB]).
263265

264266
%! assert_lt(+A, +B) is semidet
265267
%
@@ -271,7 +273,9 @@
271273
call_protected(A < B, fail_assert_lt(A, B)).
272274

273275
fail_assert_lt(A, B) :-
274-
feedback('Does not hold: ~w is not less than than ~w', [A, B]).
276+
pretty_with_eval(A, PA),
277+
pretty_with_eval(B, PB),
278+
feedback('Comparison failed: ~w is not less than ~w', [PA, PB]).
275279

276280
%! assert_gte(+A, +B) is semidet
277281
%
@@ -283,7 +287,9 @@
283287
call_protected(A >= B, fail_assert_gte(A, B)).
284288

285289
fail_assert_gte(A, B) :-
286-
feedback('Does not hold: ~w is not greater than or equal to ~w', [A, B]).
290+
pretty_with_eval(A, PA),
291+
pretty_with_eval(B, PB),
292+
feedback('Comparison failed: ~w is not greater than or equal to ~w', [PA, PB]).
287293

288294
%! assert_lte(+A, +B) is semidet
289295
%
@@ -295,7 +301,9 @@
295301
call_protected(A =< B, fail_assert_lte(A, B)).
296302

297303
fail_assert_lte(A, B) :-
298-
feedback('Does not hold: ~w is not less than or equal to ~w', [A, B]).
304+
pretty_with_eval(A, PA),
305+
pretty_with_eval(B, PB),
306+
feedback('Comparison failed: ~w is not less than or equal to ~w', [PA, PB]).
299307

300308
%! assert_output(:Goal, +Vars:list, +Expected:list) is semidet
301309
%

tests/test_pa.pl

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -175,37 +175,41 @@
175175
test(pa_gt) :-
176176
assert_test_passes(assert_gt(9, 3)),
177177
assert_test_passes(assert_gt(9, 1+2)),
178+
assert_test_passes(assert_gt(9^7, 1+2)),
178179
assert_test_passes(assert_gt(9, 3.0)),
179180
assert_test_fails(assert_gt(9, 9)),
180181
assert_test_fails(assert_gt(3, 9.2)),
181182
assert_test_fails(assert_gt(3, 8)),
182183
!.
183184

184185
test(pa_lt) :-
186+
assert_test_passes(assert_lt(3, 9.2)),
187+
assert_test_passes(assert_lt(3, 8)),
185188
assert_test_fails(assert_lt(9, 3)),
186189
assert_test_fails(assert_lt(9, 1+2)),
187190
assert_test_fails(assert_lt(9, 3.0)),
188191
assert_test_fails(assert_lt(9, 9)),
189-
assert_test_passes(assert_lt(3, 9.2)),
190-
assert_test_passes(assert_lt(3, 8)),
192+
assert_test_fails(assert_lt(3^7, 8-1)),
191193
!.
192194

193195
test(pa_gte) :-
194196
assert_test_passes(assert_gte(9, 3)),
195197
assert_test_passes(assert_gte(9, 1+2)),
196-
assert_test_passes(assert_gte(9, 3.0)),
198+
assert_test_passes(assert_gte(9^7, 3.0)),
197199
assert_test_passes(assert_gte(9, 9)),
198200
assert_test_fails(assert_gte(3, 9.2)),
199201
assert_test_fails(assert_gte(3, 8)),
202+
assert_test_fails(assert_gte(3, 2*8^3)),
200203
!.
201204

202205
test(pa_lte) :-
203-
assert_test_fails(assert_lte(9, 3)),
204-
assert_test_fails(assert_lte(9, 1+2)),
205-
assert_test_fails(assert_lte(9, 3.0)),
206206
assert_test_passes(assert_lte(9, 9)),
207207
assert_test_passes(assert_lte(3, 9.2)),
208208
assert_test_passes(assert_lte(3, 8)),
209+
assert_test_passes(assert_lte(3^2, 8+1)),
210+
assert_test_fails(assert_lte(9, 3)),
211+
assert_test_fails(assert_lte(9, 1+2)),
212+
assert_test_fails(assert_lte(9^2, 3.0)),
209213
!.
210214

211215
test(pa_output) :-

0 commit comments

Comments
 (0)