mirror of
https://github.com/RustPython/RustPython.git
synced 2026-06-09 22:49:57 +09:00
Add more tests for int()
This commit is contained in:
@@ -97,14 +97,40 @@ assert 10 // -4 == -3
|
||||
assert -10 // -4 == 2
|
||||
|
||||
assert int() == 0
|
||||
assert int("101", 2) == 5
|
||||
assert int("101", base=2) == 5
|
||||
assert int(1) == 1
|
||||
|
||||
# implied base
|
||||
assert int('1', base=0) == 1
|
||||
assert int('123', base=0) == 123
|
||||
assert int('0b101', base=0) == 5
|
||||
assert int('0B101', base=0) == 5
|
||||
assert int('0o100', base=0) == 64
|
||||
assert int('0O100', base=0) == 64
|
||||
assert int('0xFF', base=0) == 255
|
||||
assert int('0XFF', base=0) == 255
|
||||
with assertRaises(ValueError):
|
||||
int('0xFF', base=10)
|
||||
with assertRaises(ValueError):
|
||||
int('0oFF', base=10)
|
||||
with assertRaises(ValueError):
|
||||
int('0bFF', base=10)
|
||||
|
||||
# underscore
|
||||
assert int('0xFF_FF_FF', base=16) == 16_777_215
|
||||
|
||||
# signed
|
||||
assert int('-123') == -123
|
||||
assert int('+0b101', base=2) == +5
|
||||
|
||||
# trailing spaces
|
||||
assert int(' 1') == 1
|
||||
assert int('1 ') == 1
|
||||
assert int(' 1 ') == 1
|
||||
assert int('10', base=0) == 10
|
||||
|
||||
# type byte, signed, implied base
|
||||
assert int(b' -0XFF ', base=0) == -255
|
||||
|
||||
assert int.from_bytes(b'\x00\x10', 'big') == 16
|
||||
assert int.from_bytes(b'\x00\x10', 'little') == 4096
|
||||
assert int.from_bytes(b'\xfc\x00', 'big', signed=True) == -1024
|
||||
@@ -179,4 +205,4 @@ assert (1).__round__(0) == 1
|
||||
assert_raises(TypeError, lambda: (0).__round__(None))
|
||||
assert_raises(TypeError, lambda: (1).__round__(None))
|
||||
assert_raises(TypeError, lambda: (0).__round__(0.0))
|
||||
assert_raises(TypeError, lambda: (1).__round__(0.0))
|
||||
assert_raises(TypeError, lambda: (1).__round__(0.0))
|
||||
|
||||
Reference in New Issue
Block a user