The whole thing is kind of a mess.
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
:- ["../source/thun.pl"].
|
||||
/*
|
||||
|
||||
Tests
|
||||
|
||||
Woefully inadequate, but it's a start.
|
||||
|
||||
Run test/0.
|
||||
|
||||
?- tests.
|
||||
YES! test_parser([],[[]])
|
||||
YES! test_parser([32],[[]])
|
||||
YES! test_parser([91,93],[[list([])]])
|
||||
YES! test_parser([50,51],[[int(23)]])
|
||||
YES! test_parser([50,91,51,93],[[int(2),list([int(3)])]])
|
||||
true.
|
||||
|
||||
*/
|
||||
|
||||
tests :- forall(test_case(T), test(T)).
|
||||
|
||||
test(Goal) :- (Goal -> write("YES! ") ; write("no! ")), writeln(Goal).
|
||||
|
||||
test_parser(Source, Exprs) :- findall(Expr, joy_parse(Expr, Source, []), Exprs).
|
||||
|
||||
test_case(test_parser(``, [[]])).
|
||||
test_case(test_parser(` `, [[]])).
|
||||
test_case(test_parser(`[]`, [[list([])]])).
|
||||
test_case(test_parser(`23`, [[ int(23)]])).
|
||||
test_case(test_parser(`2[3]`, [[int(2), list([int(3)])]])).
|
||||
|
||||
% and so on...
|
||||
Reference in New Issue
Block a user