@@ -85,7 +85,9 @@ def test_validate_expression():
85
85
@test
86
86
def test_parse_int ():
87
87
# decimal
88
+ assert parse_int ("0" ) == 0 , "0 == 0"
88
89
assert parse_int ("5" ) == 5 , "5 == 5"
90
+ assert parse_int ("-0" ) == 0 , "-0 == 0"
89
91
assert parse_int ("-5" ) == - 5 , "-5 == -5"
90
92
# hex
91
93
assert parse_int ("0x5" ) == 5 , "0x5 == 5"
@@ -95,10 +97,14 @@ def test_parse_int():
95
97
assert parse_int ("0b1001" ) == 9 , "0b1001 == 9"
96
98
assert parse_int ("-0b1001" ) == - 9 , "-0b1001 == 9"
97
99
# octal
100
+ assert parse_int ("07" ) == 7 , "07 == 7"
98
101
assert parse_int ("0100" ) == 64 , "0100 == 64"
99
102
assert parse_int ("0o210" ) == 136 , "0o210 == 136"
103
+ assert parse_int ("00000010" ) == 8 , "00000010 == 8"
104
+ assert parse_int ("-07" ) == - 7 , "-07 == -7"
100
105
assert parse_int ("-0100" ) == - 64 , "-0100 == -64"
101
106
assert parse_int ("-0o210" ) == - 136 , "-0o210 == -136"
107
+ assert parse_int ("-00000010" ) == - 8 , "-00000010 == -8"
102
108
# negative cases
103
109
assert_raises (ValueError , parse_int , '0b123' , message = "invalid syntax for integer with base 2: '123'" )
104
110
assert_raises (ValueError , parse_int , '0900' , message = "invalid syntax for integer with base 8: '0900'" )
0 commit comments