zig/test/cases/if.zig

43 lines
701 B
Zig
Raw Normal View History

2017-01-05 08:57:48 +00:00
const assert = @import("std").debug.assert;
2016-12-22 05:20:14 +00:00
fn ifStatements() {
@setFnTest(this);
shouldBeEqual(1, 1);
firstEqlThird(2, 1, 2);
}
fn shouldBeEqual(a: i32, b: i32) {
if (a != b) {
@unreachable();
} else {
return;
}
}
fn firstEqlThird(a: i32, b: i32, c: i32) {
if (a == b) {
@unreachable();
} else if (b == c) {
@unreachable();
} else if (a == c) {
return;
} else {
@unreachable();
}
}
2016-12-22 06:42:30 +00:00
fn elseIfExpression() {
@setFnTest(this);
assert(elseIfExpressionF(1) == 1);
}
fn elseIfExpressionF(c: u8) -> u8 {
if (c == 0) {
0
} else if (c == 1) {
1
} else {
u8(2)
}
}