Add more tests for int()

This commit is contained in:
Marcin Pajkowski
2019-08-16 21:39:50 +02:00
parent 3f3fa2e5af
commit d07edee3f6

View File

@@ -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))