def test_wfe_integer_literals_base2(i): code = bin(i) assert parse(code) == Literal(i, NumberType)
def test_wfe_char_literals(ch): if ch == "'": code = r"'\''" else: code = f"{ch!r}" assert parse(code) == Literal(ch, CharType)
def test_wfe_string_literals(s): code = string_repr(s) assert parse(code) == Literal(s, StringType)
def test_unit_value(): assert parse("( )") == parse("()") == Literal((), UnitType)
def test_wfe_integer_literals_with_under_base2(i, g): code = bin(i) + "__" + bin(g)[2:] + "_" value = eval(bin(i) + bin(g)[2:] if i else bin(g)) assert parse(code) == Literal(value, NumberType)
def test_wfe_integer_literals_with_under_base8(i, g): code = oct(i) + "__" + oct(g)[2:] + "_" value = eval(oct(i) + oct(g)[2:] if i else oct(g)) assert parse(code) == Literal(value, NumberType)
def test_wfe_integer_literals_with_under_base16(i, g): code = hex(i) + "__" + hex(g)[2:] + "_" value = eval(hex(i) + hex(g)[2:] if i else hex(g)) assert parse(code) == Literal(value, NumberType)
def test_wfe_integer_literals_with_under_base10(i, g): code = str(i) + "__" + str(g) + "_" value = eval(str(i) + str(g) if i else str(g)) assert parse(code) == Literal(value, NumberType)