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

38 lines
708 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 aa = 1;
var bbb = 2;
var cccc = 3;
var ddddd = 4;
var eeeeee = 5;
assert (aa ? bbb ? cccc : ddddd : eeeeee) == 3, "Ambiguous syntax failed";
}
print "All good";