mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-21 04:13:46 +00:00
tests/general/string_test.m: Add test of string__to_int (0.4 had a bug in string__to_int).
61 lines
1.7 KiB
Mathematica
61 lines
1.7 KiB
Mathematica
:- module string_test.
|
|
:- import_module io.
|
|
|
|
:- interface.
|
|
|
|
:- pred main(io__state, io__state).
|
|
:- mode main(di, uo) is det.
|
|
|
|
:- implementation.
|
|
:- import_module string, list, require.
|
|
|
|
main -->
|
|
test("foo", "bar").
|
|
|
|
:- pred test(string, string, io__state, io__state).
|
|
:- mode test(in, in, di, uo) is det.
|
|
|
|
test(X, Y) -->
|
|
write_message("X: ", X),
|
|
write_message("Y: ", Y),
|
|
{ string__append(X, Y, Z) },
|
|
write_message("X append Y: ", Z),
|
|
{ string__capitalize_first(X, CapX) },
|
|
write_message("capitalize_first X: ", CapX),
|
|
{ string__uncapitalize_first(CapX, UnCapX) },
|
|
write_message("uncapitalize_first CapX: ", UnCapX),
|
|
{ string__int_to_string(1234, Num) },
|
|
write_message("int_to_string 1234: ", Num),
|
|
{ string__int_to_base_string(1234, 8, Num8) },
|
|
write_message("octal 1234: ", Num8),
|
|
{ string__int_to_base_string(1234, 16, Num16) },
|
|
write_message("hexadecimal 1234: ", Num16),
|
|
{ string__duplicate_char('f', 5, FiveFs) },
|
|
( { string__to_int("5678", Num5678) } ->
|
|
io__write_string("string_to_int 5678: "),
|
|
io__write_int(Num5678),
|
|
io__write_string("\n")
|
|
;
|
|
{ error("string__to_int(""5678"", _) failed") }
|
|
),
|
|
{ string__to_int("asdf", _) ->
|
|
error("string__to_int(""asdf"", _) succeeded")
|
|
;
|
|
true
|
|
},
|
|
write_message("Five f's: ", FiveFs),
|
|
{ string__pad_right(FiveFs, '.', 10, FsAndDots) },
|
|
write_message("Five f's and five dots: ", FsAndDots),
|
|
{ string__pad_left(FsAndDots, '-', 15, DashesFsAndDots) },
|
|
write_message("Five dashes, five f's and five dots: ", DashesFsAndDots),
|
|
[].
|
|
|
|
:- pred write_message(string, string, io__state, io__state).
|
|
:- mode write_message(in, in, di, uo) is det.
|
|
|
|
write_message(Message, String) -->
|
|
io__write_string(Message),
|
|
io__write_string(String),
|
|
io__write_string("\n").
|
|
|