module math_is_even_odd_tests; import std::math; import std::io; macro test(start, ...) { $for var $i = 0; $i < $vacount; $i++: for ($vatype[$i] i = ($vatype[$i])start; i < 5; i+=2) { assert(math::is_even(i)); assert(i.is_even()); assert(!math::is_odd(i)); assert(!i.is_odd()); } $endfor; } fn void tests() @test { test(0, char, ushort, uint, ulong, uptr, usz, uint128); test(-4, ichar, short, int, long, iptr, isz, int128); }