@@ -85,7 +85,9 @@ def test_validate_expression():
8585@test
8686def test_parse_int ():
8787 # decimal
88+ assert parse_int ("0" ) == 0 , "0 == 0"
8889 assert parse_int ("5" ) == 5 , "5 == 5"
90+ assert parse_int ("-0" ) == 0 , "-0 == 0"
8991 assert parse_int ("-5" ) == - 5 , "-5 == -5"
9092 # hex
9193 assert parse_int ("0x5" ) == 5 , "0x5 == 5"
@@ -95,10 +97,14 @@ def test_parse_int():
9597 assert parse_int ("0b1001" ) == 9 , "0b1001 == 9"
9698 assert parse_int ("-0b1001" ) == - 9 , "-0b1001 == 9"
9799 # octal
100+ assert parse_int ("07" ) == 7 , "07 == 7"
98101 assert parse_int ("0100" ) == 64 , "0100 == 64"
99102 assert parse_int ("0o210" ) == 136 , "0o210 == 136"
103+ assert parse_int ("00000010" ) == 8 , "00000010 == 8"
104+ assert parse_int ("-07" ) == - 7 , "-07 == -7"
100105 assert parse_int ("-0100" ) == - 64 , "-0100 == -64"
101106 assert parse_int ("-0o210" ) == - 136 , "-0o210 == -136"
107+ assert parse_int ("-00000010" ) == - 8 , "-00000010 == -8"
102108 # negative cases
103109 assert_raises (ValueError , parse_int , '0b123' , message = "invalid syntax for integer with base 2: '123'" )
104110 assert_raises (ValueError , parse_int , '0900' , message = "invalid syntax for integer with base 8: '0900'" )
0 commit comments