112 lines
2.0 KiB
Plaintext
112 lines
2.0 KiB
Plaintext
|
|
# Test the equal operator
|
|
{
|
|
assert(1 == 1);
|
|
assert(1.0 == 1.0);
|
|
assert('--' == '--');
|
|
}
|
|
|
|
# Test assignment.
|
|
{
|
|
a = 3;
|
|
assert(a == 3);
|
|
}
|
|
|
|
# Test operations on integers.
|
|
{
|
|
# assert(4 == +4); -------------------- FAILING
|
|
# assert(0-4 == -4); ------------------ FAILING
|
|
assert(1 + 1 == 2);
|
|
assert(2 * 3 == 6);
|
|
assert(6 / 3 == 2);
|
|
assert(4 < 5);
|
|
assert(4 > 3);
|
|
assert(4 <= 5);
|
|
assert(4 <= 4);
|
|
assert(4 >= 3);
|
|
assert(4 == 4);
|
|
assert(4 != 3);
|
|
}
|
|
|
|
# Test operations on floats.
|
|
{
|
|
# assert(4.0 == +4.0); # -------------------- FAILING
|
|
# assert(0-4.0 == -4.0); # ------------------ FAILING
|
|
assert(1.0 + 1.0 == 2.0);
|
|
assert(2.0 * 3.0 == 6.0);
|
|
assert(6.0 / 3.0 == 2.0);
|
|
assert(4.0 < 5.0);
|
|
assert(4.0 > 3.0);
|
|
assert(4.0 <= 5.0);
|
|
assert(4.0 <= 4.0);
|
|
assert(4.0 >= 3.0);
|
|
assert(4.0 == 4.0);
|
|
assert(4.0 != 3.0);
|
|
}
|
|
|
|
# Test operations on strings.
|
|
{
|
|
assert('hey' == 'hey');
|
|
assert('hey' != 'hey2');
|
|
}
|
|
|
|
# Test operations on bools.
|
|
{
|
|
assert(true);
|
|
assert(true == true);
|
|
assert(true != false);
|
|
assert(false == false);
|
|
assert(false != true);
|
|
assert(true == not false);
|
|
assert(false == not true);
|
|
assert((true and true ) == true);
|
|
assert((true and false) == false);
|
|
assert((false and true ) == false);
|
|
assert((false and false) == false);
|
|
assert((true or true ) == true);
|
|
assert((true or false) == true);
|
|
assert((false or true ) == true);
|
|
assert((false or false) == false);
|
|
}
|
|
|
|
# Test lists.
|
|
{
|
|
[1]; [1.0]; ['x']; [1, 1]; [1.0, 1.0]; ['x', 'x'];
|
|
}
|
|
|
|
# Test maps.
|
|
{
|
|
({});
|
|
({ '' : none });
|
|
({ 1 : none });
|
|
({ 1.0 : none });
|
|
({ none : none });
|
|
({ true : none });
|
|
({ false: none });
|
|
({ [] : none });
|
|
({ {} : none });
|
|
({ none : '' });
|
|
({ none : 1 });
|
|
({ none : 1.0 });
|
|
({ none : true });
|
|
({ none : false });
|
|
({ none : [] });
|
|
({ none : {} });
|
|
}
|
|
|
|
# Test if-else statements.
|
|
{
|
|
if true: r = true; else r = false;
|
|
assert(r);
|
|
|
|
if true: { r = true; } else { r = false; }
|
|
assert(r);
|
|
|
|
if false: r = false; else r = true;
|
|
assert(r);
|
|
|
|
if false: { r = false; } else { r = true; }
|
|
assert(r);
|
|
}
|
|
|
|
print('No assertion failed.\n'); |