11"""Test correct treatment of hex/oct constants.
22
33This is complex because of changes due to PEP 237.
4-
5- Some of these tests will have to change in Python 2.4!
64"""
75
86import sys
@@ -41,31 +39,28 @@ def test_hex_baseline(self):
4139 self .assertEqual (- 0x7fffffffffffffff , - 9223372036854775807 )
4240
4341 def test_hex_unsigned (self ):
44- # This test is in a <string> so we can ignore the warnings
45- exec """if 1:
4642 if platform_long_is_32_bits :
47- # Positive-looking constants with negavive values
48- self.assertEqual(0x80000000, - 2147483648L)
49- self.assertEqual(0xffffffff, -1 )
43+ # Positive constants
44+ self .assertEqual (0x80000000 , 2147483648L )
45+ self .assertEqual (0xffffffff , 4294967295L )
5046 # Ditto with a minus sign and parentheses
51- self.assertEqual(-(0x80000000), 2147483648L)
52- self.assertEqual(-(0xffffffff), 1 )
47+ self .assertEqual (- (0x80000000 ), - 2147483648L )
48+ self .assertEqual (- (0xffffffff ), - 4294967295L )
5349 # Ditto with a minus sign and NO parentheses
5450 # This failed in Python 2.2 through 2.2.2 and in 2.3a1
55- self.assertEqual(-0x80000000, 2147483648L)
56- self.assertEqual(-0xffffffff, 1 )
51+ self .assertEqual (- 0x80000000 , - 2147483648L )
52+ self .assertEqual (- 0xffffffff , - 4294967295L )
5753 else :
58- # Positive-looking constants with negavive values
59- self.assertEqual(0x8000000000000000, - 9223372036854775808L)
60- self.assertEqual(0xffffffffffffffff, -1 )
54+ # Positive constants
55+ self .assertEqual (0x8000000000000000 , 9223372036854775808L )
56+ self .assertEqual (0xffffffffffffffff , 18446744073709551615L )
6157 # Ditto with a minus sign and parentheses
62- self.assertEqual(-(0x8000000000000000), 9223372036854775808L)
63- self.assertEqual(-(0xffffffffffffffff), 1 )
58+ self .assertEqual (- (0x8000000000000000 ), - 9223372036854775808L )
59+ self .assertEqual (- (0xffffffffffffffff ), - 18446744073709551615L )
6460 # Ditto with a minus sign and NO parentheses
6561 # This failed in Python 2.2 through 2.2.2 and in 2.3a1
66- self.assertEqual(-0x8000000000000000, 9223372036854775808L)
67- self.assertEqual(-0xffffffffffffffff, 1)
68- \n """
62+ self .assertEqual (- 0x8000000000000000 , - 9223372036854775808L )
63+ self .assertEqual (- 0xffffffffffffffff , - 18446744073709551615L )
6964
7065 def test_oct_baseline (self ):
7166 # Baseline tests
@@ -91,31 +86,28 @@ def test_oct_baseline(self):
9186 self .assertEqual (- 0777777777777777777777 , - 9223372036854775807 )
9287
9388 def test_oct_unsigned (self ):
94- # This test is in a <string> so we can ignore the warnings
95- exec """if 1:
9689 if platform_long_is_32_bits :
97- # Positive-looking constants with negavive values
98- self.assertEqual(020000000000, - 2147483648L)
99- self.assertEqual(037777777777, -1 )
90+ # Positive constants
91+ self .assertEqual (020000000000 , 2147483648L )
92+ self .assertEqual (037777777777 , 4294967295L )
10093 # Ditto with a minus sign and parentheses
101- self.assertEqual(-(020000000000), 2147483648L)
102- self.assertEqual(-(037777777777), 1 )
94+ self .assertEqual (- (020000000000 ), - 2147483648L )
95+ self .assertEqual (- (037777777777 ), - 4294967295L )
10396 # Ditto with a minus sign and NO parentheses
10497 # This failed in Python 2.2 through 2.2.2 and in 2.3a1
105- self.assertEqual(-020000000000, 2147483648L)
106- self.assertEqual(-037777777777, 1 )
98+ self .assertEqual (- 020000000000 , - 2147483648L )
99+ self .assertEqual (- 037777777777 , - 4294967295L )
107100 else :
108- # Positive-looking constants with negavive values
109- self.assertEqual(01000000000000000000000, - 9223372036854775808L)
110- self.assertEqual(01777777777777777777777, -1 )
101+ # Positive constants
102+ self .assertEqual (01000000000000000000000 , 9223372036854775808L )
103+ self .assertEqual (01777777777777777777777 , 18446744073709551615L )
111104 # Ditto with a minus sign and parentheses
112- self.assertEqual(-(01000000000000000000000), 9223372036854775808L)
113- self.assertEqual(-(01777777777777777777777), 1 )
105+ self .assertEqual (- (01000000000000000000000 ), - 9223372036854775808L )
106+ self .assertEqual (- (01777777777777777777777 ), - 18446744073709551615L )
114107 # Ditto with a minus sign and NO parentheses
115108 # This failed in Python 2.2 through 2.2.2 and in 2.3a1
116- self.assertEqual(-01000000000000000000000, 9223372036854775808L)
117- self.assertEqual(-01777777777777777777777, 1)
118- \n """
109+ self .assertEqual (- 01000000000000000000000 , - 9223372036854775808L )
110+ self .assertEqual (- 01777777777777777777777 , - 18446744073709551615L )
119111
120112def test_main ():
121113 test_support .run_unittest (TextHexOct )
0 commit comments