# 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');