use v6;
use Test;
plan 41;
{ # L
is ?True, True, "? context forcer works (1)";
is ?False, False, "? context forcer works (2)";
is ?1, True, "? context forcer works (3)";
is ?0, False, "? context forcer works (4)";
is ?(?1), True, "? context forcer works (5)";
is ?(?0), False, "? context forcer works (6)";
is ?"hi", True, "? context forcer works (7)";
is ?"", False, "? context forcer works (8)";
is ?(?"hi"), True, "? context forcer works (9)";
is ?(?""), False, "? context forcer works (10)";
is ?"3", True, "? context forcer works (11)";
is ?"0", False, "? context forcer works (12)";
is ?(?"3"), True, "? context forcer works (13)";
is ?(?"0"), False, "? context forcer works (14)";
is ?undef, False, "? context forcer works (15)";
}
{ # L
is ?[], False, "? context forcer: empty container is false";
is ?[1], True, "? context forcer: non-empty container is true";
}
{ # L
is ?{}, False, "? context forcer: empty hash is false";
is ?{:a}, True, "? context forcer: non-empty hash is true";
}
{ # L
is +1, 1, "+ context forcer works (1)";
is +0, 0, "+ context forcer works (2)";
is +"1", 1, "+ context forcer works (3)";
is +"0", 0, "+ context forcer works (4)";
is +"", 0, "+ context forcer works (5)";
is +undef, 0, "+ context forcer works (6)";
is +"Inf", Inf, "+ context forcer works (7)";
is +"-Inf", -Inf, "+ context forcer works (8)";
is +"NaN", NaN, "+ context forcer works (9)";
is +"3e5", 300000, "+ context forcer works (10)";
is +(?0), 0, "+ context forcer works (11)";
is +(?3), 1, "+ context forcer works (11)";
}
{ # L
is ~1, "1", "~ context forcer works (1)";
is ~0, "0", "~ context forcer works (2)";
is ~"1", "1", "~ context forcer works (3)";
is ~"0", "0", "~ context forcer works (4)";
is ~"", "", "~ context forcer works (5)";
is ~undef, "", "~ context forcer works (6)";
is ~"Inf", "Inf", "~ context forcer works (7)";
is ~"-Inf", "-Inf", "~ context forcer works (8)";
is ~"NaN", "NaN", "~ context forcer works (9)";
is ~"3e5", "3e5", "~ context forcer works (10)";
}