Files
mercury/tests/hard_coded/join_list.m
Julien Fischer 1f6d83692a Update programming style in tests/hard_coded.
tests/hard_coded/*.m:
    Update programming style, unless doing so would change
    the meaning of the test, in particular:

    - use '.' as a module qualifier in place of '__'
    - use {write,print}_line where appropriate
    - use if-then-else in place of C -> T ; E
    - use state variables in place of DCGs

tests/hard_coded/dir_test.m:
    Document what the expected outputs correspond to.

    Use a uniform module qualifier in the output.

tests/hard_coded/dir_test.exp*:
    Conform to the above change.
2021-01-07 13:58:12 +11:00

45 lines
1.4 KiB
Mathematica

%---------------------------------------------------------------------------%
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
%
% This is a test to check the correctness of the string.join_list predicate.
:- module join_list.
:- interface.
:- import_module io.
:- pred main(io::di, io::uo) is det.
:- implementation.
:- import_module list.
:- import_module string.
main(!IO) :-
test_join_list([], !IO),
test_join_list(["a", "b"], !IO),
test_join_list(["a", "b", "c"], !IO),
test_join_list(["a", "", "c"], !IO),
test_join_list(["abc", "def", "ghi"], !IO),
test_join_list(["the", "quick", "brown", "fox", "jumped", "over",
"the", "lazy", "dog"], !IO),
test_join_list(["this", "is", "a", "test", "to", "check",
"the correctness", " of the", "join_list ", "predicate\n"], !IO),
test_join_list([" ", "\t", " \t ", "x"], !IO).
:- pred test_join_list(list(string)::in, io::di, io::uo) is det.
test_join_list(Pieces, !IO) :-
Joined1 = string.join_list(", ", Pieces),
io.write_string(Joined1, !IO),
io.write_string("\n", !IO),
Joined2 = string.join_list(" ", Pieces),
io.write_string(Joined2, !IO),
io.write_string("\n", !IO),
Joined3 = string.join_list(" x ", Pieces),
io.write_string(Joined3, !IO),
io.write_string("\n", !IO),
Joined4 = string.join_list("", Pieces),
io.write_string(Joined4, !IO),
io.write_string("\n", !IO).