zig/test/cases/bool.zig

37 lines
630 B
Zig
Raw Normal View History

2016-12-22 14:20:08 +08:00
fn boolLiterals() {
@setFnTest(this);
assert(true);
assert(!false);
}
fn castBoolToInt() {
@setFnTest(this);
const t = true;
const f = false;
assert(i32(t) == i32(1));
assert(i32(f) == i32(0));
nonConstCastBoolToInt(t, f);
}
fn nonConstCastBoolToInt(t: bool, f: bool) {
assert(i32(t) == i32(1));
assert(i32(f) == i32(0));
}
2016-12-22 14:42:30 +08:00
fn boolCmp() {
@setFnTest(this);
assert(testBoolCmp(true, false) == false);
}
fn testBoolCmp(a: bool, b: bool) -> bool {
a == b
}
2016-12-22 14:20:08 +08:00
// TODO const assert = @import("std").debug.assert;
fn assert(ok: bool) {
if (!ok)
@unreachable();
}