zig/test/cases/bool.zig

36 lines
739 B
Zig
Raw Normal View History

2017-01-05 00:57:48 -08:00
const assert = @import("std").debug.assert;
2017-05-23 18:38:31 -07:00
test "bool literals" {
2016-12-21 22:20:08 -08:00
assert(true);
assert(!false);
}
2017-05-23 18:38:31 -07:00
test "cast bool to int" {
2016-12-21 22:20:08 -08:00
const t = true;
const f = false;
assert(@boolToInt(t) == u32(1));
assert(@boolToInt(f) == u32(0));
2016-12-21 22:20:08 -08:00
nonConstCastBoolToInt(t, f);
}
fn nonConstCastBoolToInt(t: bool, f: bool) void {
assert(@boolToInt(t) == u32(1));
assert(@boolToInt(f) == u32(0));
2016-12-21 22:20:08 -08:00
}
2017-05-23 18:38:31 -07:00
test "bool cmp" {
2016-12-21 22:42:30 -08:00
assert(testBoolCmp(true, false) == false);
}
fn testBoolCmp(a: bool, b: bool) bool {
return a == b;
2016-12-21 22:42:30 -08:00
}
const global_f = false;
const global_t = true;
const not_global_f = !global_f;
const not_global_t = !global_t;
2017-05-23 18:38:31 -07:00
test "compile time bool not" {
assert(not_global_f);
assert(!not_global_t);
}