Files
Toy/test/scripts/ternary-expressions.toy

38 lines
674 B
Plaintext

//test basic truth ternaries
{
assert true ? true : false, "Basic true ternary failed";
assert false ? false : true, "Basic false ternary failed";
}
//test nesting
{
fn least(a, b, c) {
return a < b ? a : b < c ? b : c;
}
assert least(1, 2, 3) == 1, "Least 1, 2, 3 failed";
assert least(10, 5, 7) == 5, "Least 10, 5, 7 failed";
assert least(9, 7, 5) == 5, "Least 9, 7, 5 failed";
}
//test division prevention
{
var x = 0;
assert x ? 0 : 1 / x == 0, "Division by zero prevention failed";
}
//test ambiguous syntax
{
var a = 1;
var b = 2;
var c = 3;
var d = 4;
var e = 5;
assert a ? b ? c : d : e == 3, "Ambiguous syntax failed";
}
print "All good";