(module main) (fn u32_zero_text () -> string (std.num.u32_to_string 0u32)) (fn u32_high_text () -> string (std.num.u32_to_string 4294967295u32)) (fn u64_zero_text () -> string (std.num.u64_to_string 0u64)) (fn u64_high_text () -> string (std.num.u64_to_string 18446744073709551615u64)) (fn u64_beyond_u32_text () -> string (std.num.u64_to_string 4294967296u64)) (test "u32 zero to string" (= (u32_zero_text) "0")) (test "u32 high to string" (= (u32_high_text) "4294967295")) (test "u32 high string length" (= (std.string.len (u32_high_text)) 10)) (test "u64 zero to string" (= (u64_zero_text) "0")) (test "u64 high to string" (= (u64_high_text) "18446744073709551615")) (test "u64 beyond u32 to string" (= (u64_beyond_u32_text) "4294967296")) (test "u64 high string length" (= (std.string.len (u64_high_text)) 20)) (fn main () -> i32 (std.io.print_string (u32_zero_text)) (std.io.print_string (u32_high_text)) (std.io.print_string (u64_zero_text)) (std.io.print_string (u64_high_text)) (std.io.print_string (u64_beyond_u32_text)) (if (= (std.string.len (u64_beyond_u32_text)) 10) 0 1))