]> git.proxmox.com Git - mirror_edk2.git/blame - AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_int_literal.py
EmbeddedPkg: Extend NvVarStoreFormattedLib LIBRARY_CLASS
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / test / test_int_literal.py
CommitLineData
4710c53d 1"""Test correct treatment of hex/oct constants.\r
2\r
3This is complex because of changes due to PEP 237.\r
4"""\r
5\r
6import unittest\r
7from test import test_support\r
8\r
9\r
10class TestHexOctBin(unittest.TestCase):\r
11\r
12 def test_hex_baseline(self):\r
13 # A few upper/lowercase tests\r
14 self.assertEqual(0x0, 0X0)\r
15 self.assertEqual(0x1, 0X1)\r
16 self.assertEqual(0x123456789abcdef, 0X123456789abcdef)\r
17 # Baseline tests\r
18 self.assertEqual(0x0, 0)\r
19 self.assertEqual(0x10, 16)\r
20 self.assertEqual(0x7fffffff, 2147483647)\r
21 self.assertEqual(0x7fffffffffffffff, 9223372036854775807)\r
22 # Ditto with a minus sign and parentheses\r
23 self.assertEqual(-(0x0), 0)\r
24 self.assertEqual(-(0x10), -16)\r
25 self.assertEqual(-(0x7fffffff), -2147483647)\r
26 self.assertEqual(-(0x7fffffffffffffff), -9223372036854775807)\r
27 # Ditto with a minus sign and NO parentheses\r
28 self.assertEqual(-0x0, 0)\r
29 self.assertEqual(-0x10, -16)\r
30 self.assertEqual(-0x7fffffff, -2147483647)\r
31 self.assertEqual(-0x7fffffffffffffff, -9223372036854775807)\r
32\r
33 def test_hex_unsigned(self):\r
34 # Positive constants\r
35 self.assertEqual(0x80000000, 2147483648L)\r
36 self.assertEqual(0xffffffff, 4294967295L)\r
37 # Ditto with a minus sign and parentheses\r
38 self.assertEqual(-(0x80000000), -2147483648L)\r
39 self.assertEqual(-(0xffffffff), -4294967295L)\r
40 # Ditto with a minus sign and NO parentheses\r
41 # This failed in Python 2.2 through 2.2.2 and in 2.3a1\r
42 self.assertEqual(-0x80000000, -2147483648L)\r
43 self.assertEqual(-0xffffffff, -4294967295L)\r
44\r
45 # Positive constants\r
46 self.assertEqual(0x8000000000000000, 9223372036854775808L)\r
47 self.assertEqual(0xffffffffffffffff, 18446744073709551615L)\r
48 # Ditto with a minus sign and parentheses\r
49 self.assertEqual(-(0x8000000000000000), -9223372036854775808L)\r
50 self.assertEqual(-(0xffffffffffffffff), -18446744073709551615L)\r
51 # Ditto with a minus sign and NO parentheses\r
52 # This failed in Python 2.2 through 2.2.2 and in 2.3a1\r
53 self.assertEqual(-0x8000000000000000, -9223372036854775808L)\r
54 self.assertEqual(-0xffffffffffffffff, -18446744073709551615L)\r
55\r
56 def test_oct_baseline(self):\r
57 # Baseline tests\r
58 self.assertEqual(00, 0)\r
59 self.assertEqual(020, 16)\r
60 self.assertEqual(017777777777, 2147483647)\r
61 self.assertEqual(0777777777777777777777, 9223372036854775807)\r
62 # Ditto with a minus sign and parentheses\r
63 self.assertEqual(-(00), 0)\r
64 self.assertEqual(-(020), -16)\r
65 self.assertEqual(-(017777777777), -2147483647)\r
66 self.assertEqual(-(0777777777777777777777), -9223372036854775807)\r
67 # Ditto with a minus sign and NO parentheses\r
68 self.assertEqual(-00, 0)\r
69 self.assertEqual(-020, -16)\r
70 self.assertEqual(-017777777777, -2147483647)\r
71 self.assertEqual(-0777777777777777777777, -9223372036854775807)\r
72\r
73 def test_oct_baseline_new(self):\r
74 # A few upper/lowercase tests\r
75 self.assertEqual(0o0, 0O0)\r
76 self.assertEqual(0o1, 0O1)\r
77 self.assertEqual(0o1234567, 0O1234567)\r
78 # Baseline tests\r
79 self.assertEqual(0o0, 0)\r
80 self.assertEqual(0o20, 16)\r
81 self.assertEqual(0o17777777777, 2147483647)\r
82 self.assertEqual(0o777777777777777777777, 9223372036854775807)\r
83 # Ditto with a minus sign and parentheses\r
84 self.assertEqual(-(0o0), 0)\r
85 self.assertEqual(-(0o20), -16)\r
86 self.assertEqual(-(0o17777777777), -2147483647)\r
87 self.assertEqual(-(0o777777777777777777777), -9223372036854775807)\r
88 # Ditto with a minus sign and NO parentheses\r
89 self.assertEqual(-0o0, 0)\r
90 self.assertEqual(-0o20, -16)\r
91 self.assertEqual(-0o17777777777, -2147483647)\r
92 self.assertEqual(-0o777777777777777777777, -9223372036854775807)\r
93\r
94 def test_oct_unsigned(self):\r
95 # Positive constants\r
96 self.assertEqual(020000000000, 2147483648L)\r
97 self.assertEqual(037777777777, 4294967295L)\r
98 # Ditto with a minus sign and parentheses\r
99 self.assertEqual(-(020000000000), -2147483648L)\r
100 self.assertEqual(-(037777777777), -4294967295L)\r
101 # Ditto with a minus sign and NO parentheses\r
102 # This failed in Python 2.2 through 2.2.2 and in 2.3a1\r
103 self.assertEqual(-020000000000, -2147483648L)\r
104 self.assertEqual(-037777777777, -4294967295L)\r
105\r
106 # Positive constants\r
107 self.assertEqual(01000000000000000000000, 9223372036854775808L)\r
108 self.assertEqual(01777777777777777777777, 18446744073709551615L)\r
109 # Ditto with a minus sign and parentheses\r
110 self.assertEqual(-(01000000000000000000000), -9223372036854775808L)\r
111 self.assertEqual(-(01777777777777777777777), -18446744073709551615L)\r
112 # Ditto with a minus sign and NO parentheses\r
113 # This failed in Python 2.2 through 2.2.2 and in 2.3a1\r
114 self.assertEqual(-01000000000000000000000, -9223372036854775808L)\r
115 self.assertEqual(-01777777777777777777777, -18446744073709551615L)\r
116\r
117 def test_oct_unsigned_new(self):\r
118 # Positive constants\r
119 self.assertEqual(0o20000000000, 2147483648L)\r
120 self.assertEqual(0o37777777777, 4294967295L)\r
121 # Ditto with a minus sign and parentheses\r
122 self.assertEqual(-(0o20000000000), -2147483648L)\r
123 self.assertEqual(-(0o37777777777), -4294967295L)\r
124 # Ditto with a minus sign and NO parentheses\r
125 # This failed in Python 2.2 through 2.2.2 and in 2.3a1\r
126 self.assertEqual(-0o20000000000, -2147483648L)\r
127 self.assertEqual(-0o37777777777, -4294967295L)\r
128\r
129 # Positive constants\r
130 self.assertEqual(0o1000000000000000000000, 9223372036854775808L)\r
131 self.assertEqual(0o1777777777777777777777, 18446744073709551615L)\r
132 # Ditto with a minus sign and parentheses\r
133 self.assertEqual(-(0o1000000000000000000000), -9223372036854775808L)\r
134 self.assertEqual(-(0o1777777777777777777777), -18446744073709551615L)\r
135 # Ditto with a minus sign and NO parentheses\r
136 # This failed in Python 2.2 through 2.2.2 and in 2.3a1\r
137 self.assertEqual(-0o1000000000000000000000, -9223372036854775808L)\r
138 self.assertEqual(-0o1777777777777777777777, -18446744073709551615L)\r
139\r
140 def test_bin_baseline(self):\r
141 # A few upper/lowercase tests\r
142 self.assertEqual(0b0, 0B0)\r
143 self.assertEqual(0b1, 0B1)\r
144 self.assertEqual(0b10101010101, 0B10101010101)\r
145 # Baseline tests\r
146 self.assertEqual(0b0, 0)\r
147 self.assertEqual(0b10000, 16)\r
148 self.assertEqual(0b1111111111111111111111111111111, 2147483647)\r
149 self.assertEqual(0b111111111111111111111111111111111111111111111111111111111111111, 9223372036854775807)\r
150 # Ditto with a minus sign and parentheses\r
151 self.assertEqual(-(0b0), 0)\r
152 self.assertEqual(-(0b10000), -16)\r
153 self.assertEqual(-(0b1111111111111111111111111111111), -2147483647)\r
154 self.assertEqual(-(0b111111111111111111111111111111111111111111111111111111111111111), -9223372036854775807)\r
155 # Ditto with a minus sign and NO parentheses\r
156 self.assertEqual(-0b0, 0)\r
157 self.assertEqual(-0b10000, -16)\r
158 self.assertEqual(-0b1111111111111111111111111111111, -2147483647)\r
159 self.assertEqual(-0b111111111111111111111111111111111111111111111111111111111111111, -9223372036854775807)\r
160\r
161 def test_bin_unsigned(self):\r
162 # Positive constants\r
163 self.assertEqual(0b10000000000000000000000000000000, 2147483648L)\r
164 self.assertEqual(0b11111111111111111111111111111111, 4294967295L)\r
165 # Ditto with a minus sign and parentheses\r
166 self.assertEqual(-(0b10000000000000000000000000000000), -2147483648L)\r
167 self.assertEqual(-(0b11111111111111111111111111111111), -4294967295L)\r
168 # Ditto with a minus sign and NO parentheses\r
169 # This failed in Python 2.2 through 2.2.2 and in 2.3a1\r
170 self.assertEqual(-0b10000000000000000000000000000000, -2147483648L)\r
171 self.assertEqual(-0b11111111111111111111111111111111, -4294967295L)\r
172\r
173 # Positive constants\r
174 self.assertEqual(0b1000000000000000000000000000000000000000000000000000000000000000, 9223372036854775808L)\r
175 self.assertEqual(0b1111111111111111111111111111111111111111111111111111111111111111, 18446744073709551615L)\r
176 # Ditto with a minus sign and parentheses\r
177 self.assertEqual(-(0b1000000000000000000000000000000000000000000000000000000000000000), -9223372036854775808L)\r
178 self.assertEqual(-(0b1111111111111111111111111111111111111111111111111111111111111111), -18446744073709551615L)\r
179 # Ditto with a minus sign and NO parentheses\r
180 # This failed in Python 2.2 through 2.2.2 and in 2.3a1\r
181 self.assertEqual(-0b1000000000000000000000000000000000000000000000000000000000000000, -9223372036854775808L)\r
182 self.assertEqual(-0b1111111111111111111111111111111111111111111111111111111111111111, -18446744073709551615L)\r
183\r
184def test_main():\r
185 test_support.run_unittest(TestHexOctBin)\r
186\r
187if __name__ == "__main__":\r
188 test_main()\r