1010import sys , os , string , unittest , types
1111import Python .Test as Test
1212import System
13+ import six
14+
15+ if six .PY3 :
16+ long = int
17+ unichr = chr
1318
1419
1520class ArrayTests (unittest .TestCase ):
@@ -422,8 +427,8 @@ def testInt64Array(self):
422427 self .assertTrue (items [0 ] == 0 )
423428 self .assertTrue (items [4 ] == 4 )
424429
425- max = 9223372036854775807L
426- min = - 9223372036854775808L
430+ max = long ( 9223372036854775807 )
431+ min = long ( - 9223372036854775808 )
427432
428433 items [0 ] = max
429434 self .assertTrue (items [0 ] == max )
@@ -522,7 +527,7 @@ def testUInt32Array(self):
522527 self .assertTrue (items [0 ] == 0 )
523528 self .assertTrue (items [4 ] == 4 )
524529
525- max = 4294967295L
530+ max = long ( 4294967295 )
526531 min = 0
527532
528533 items [0 ] = max
@@ -572,7 +577,7 @@ def testUInt64Array(self):
572577 self .assertTrue (items [0 ] == 0 )
573578 self .assertTrue (items [4 ] == 4 )
574579
575- max = 18446744073709551615L
580+ max = long ( 18446744073709551615 )
576581 min = 0
577582
578583 items [0 ] = max
@@ -1056,7 +1061,7 @@ def testArrayIteration(self):
10561061 empty = Test .NullArrayTest ().empty
10571062
10581063 for i in empty :
1059- raise TypeError , 'iteration over empty array'
1064+ raise TypeError ( 'iteration over empty array' )
10601065
10611066
10621067 def testTupleArrayConversion (self ):
@@ -1131,7 +1136,10 @@ def testSequenceArrayConversion(self):
11311136 """Test conversion of sequence-like objects to array arguments."""
11321137 from Python .Test import ArrayConversionTest
11331138 from Python .Test import Spam
1134- from UserList import UserList
1139+ if six .PY3 :
1140+ from collections import UserList
1141+ else :
1142+ from UserList import UserList
11351143
11361144 items = UserList ()
11371145 for i in range (10 ):
@@ -1146,7 +1154,10 @@ def testSequenceNestedArrayConversion(self):
11461154 """Test conversion of sequences to array-of-array arguments."""
11471155 from Python .Test import ArrayConversionTest
11481156 from Python .Test import Spam
1149- from UserList import UserList
1157+ if six .PY3 :
1158+ from collections import UserList
1159+ else :
1160+ from UserList import UserList
11501161
11511162 items = UserList ()
11521163 for i in range (10 ):
@@ -1235,7 +1246,10 @@ def testSequenceArrayConversionTypeChecking(self):
12351246 """Test error handling for sequence conversion to array arguments."""
12361247 from Python .Test import ArrayConversionTest
12371248 from Python .Test import Spam
1238- from UserList import UserList
1249+ if six .PY3 :
1250+ from collections import UserList
1251+ else :
1252+ from UserList import UserList
12391253
12401254 # This should work, because null / None is a valid value in an
12411255 # array of reference types.
@@ -1353,9 +1367,9 @@ def testSpecialArrayCreation(self):
13531367 self .assertTrue (value [1 ] == 127 )
13541368 self .assertTrue (value .Length == 2 )
13551369
1356- value = Array [System .Char ]([u 'A', u 'Z' ])
1357- self .assertTrue (value [0 ] == u 'A' )
1358- self .assertTrue (value [1 ] == u 'Z' )
1370+ value = Array [System .Char ]([six . u ( 'A' ), six . u ( 'Z' ) ])
1371+ self .assertTrue (value [0 ] == six . u ( 'A' ) )
1372+ self .assertTrue (value [1 ] == six . u ( 'Z' ) )
13591373 self .assertTrue (value .Length == 2 )
13601374
13611375 value = Array [System .Char ]([0 , 65535 ])
@@ -1378,29 +1392,31 @@ def testSpecialArrayCreation(self):
13781392 self .assertTrue (value [1 ] == 2147483647 )
13791393 self .assertTrue (value .Length == 2 )
13801394
1381- value = Array [System .Int64 ]([0 , 9223372036854775807L ])
1395+ value = Array [System .Int64 ]([0 , long ( 9223372036854775807 ) ])
13821396 self .assertTrue (value [0 ] == 0 )
1383- self .assertTrue (value [1 ] == 9223372036854775807L )
1397+ self .assertTrue (value [1 ] == long ( 9223372036854775807 ))
13841398 self .assertTrue (value .Length == 2 )
13851399
1386- value = Array [long ]([0 , 9223372036854775807L ])
1387- self .assertTrue (value [0 ] == 0 )
1388- self .assertTrue (value [1 ] == 9223372036854775807L )
1389- self .assertTrue (value .Length == 2 )
1400+ # there's no explicit long type in python3, use System.Int64 instead
1401+ if not six .PY3 :
1402+ value = Array [long ]([0 , long (9223372036854775807 )])
1403+ self .assertTrue (value [0 ] == 0 )
1404+ self .assertTrue (value [1 ] == long (9223372036854775807 ))
1405+ self .assertTrue (value .Length == 2 )
13901406
13911407 value = Array [System .UInt16 ]([0 , 65000 ])
13921408 self .assertTrue (value [0 ] == 0 )
1393- self .assertTrue (value [1 ] == 65000 )
1409+ self .assertTrue (value [1 ] == 65000 )
13941410 self .assertTrue (value .Length == 2 )
13951411
1396- value = Array [System .UInt32 ]([0 , 4294967295L ])
1412+ value = Array [System .UInt32 ]([0 , long ( 4294967295 ) ])
13971413 self .assertTrue (value [0 ] == 0 )
1398- self .assertTrue (value [1 ] == 4294967295L )
1414+ self .assertTrue (value [1 ] == long ( 4294967295 ))
13991415 self .assertTrue (value .Length == 2 )
14001416
1401- value = Array [System .UInt64 ]([0 , 18446744073709551615L ])
1417+ value = Array [System .UInt64 ]([0 , long ( 18446744073709551615 ) ])
14021418 self .assertTrue (value [0 ] == 0 )
1403- self .assertTrue (value [1 ] == 18446744073709551615L )
1419+ self .assertTrue (value [1 ] == long ( 18446744073709551615 ))
14041420 self .assertTrue (value .Length == 2 )
14051421
14061422 value = Array [System .Single ]([0.0 , 3.402823e38 ])
0 commit comments