Skip to content

Commit 26fe3a1

Browse files
author
Nicholas Ver Halen
committed
Made the dictionaries into one list of sets.
1 parent 5023fc7 commit 26fe3a1

File tree

1 file changed

+22
-52
lines changed

1 file changed

+22
-52
lines changed

pandas/tools/tests/test_util.py

+22-52
Original file line numberDiff line numberDiff line change
@@ -402,60 +402,30 @@ def test_downcast(self):
402402
tm.assert_numpy_array_equal(res, expected)
403403

404404
# check that the smallest and largest values in each integer type pass to each type.
405-
integer_dtype_min_max = {
406-
'int8': [np.iinfo(np.int8).min, np.iinfo(np.int8).max],
407-
'int16': [np.iinfo(np.int16).min, np.iinfo(np.int16).max],
408-
'int32': [np.iinfo(np.int32).min, np.iinfo(np.int32).max],
409-
'int64': [np.iinfo(np.int64).min, np.iinfo(np.int64).max]
410-
}
411-
412-
for dtype, min_max in integer_dtype_min_max.items():
413-
series = pd.to_numeric(pd.Series(min_max), downcast = 'integer')
405+
dtype_downcast_min_max = [
406+
('int8', 'integer', [np.iinfo(np.int8).min, np.iinfo(np.int8).max]),
407+
('int16', 'integer', [np.iinfo(np.int16).min, np.iinfo(np.int16).max]),
408+
('int32', 'integer', [np.iinfo(np.int32).min, np.iinfo(np.int32).max]),
409+
('int64', 'integer', [np.iinfo(np.int64).min, np.iinfo(np.int64).max]),
410+
('uint8', 'unsigned', [np.iinfo(np.uint8).min, np.iinfo(np.uint8).max]),
411+
('uint16', 'unsigned', [np.iinfo(np.uint16).min, np.iinfo(np.uint16).max]),
412+
('uint32', 'unsigned', [np.iinfo(np.uint32).min, np.iinfo(np.uint32).max]),
413+
# ('uint64', 'unsigned', [np.iinfo(np.uint64).min, np.iinfo(np.uint64).max]),
414+
('int16', 'integer', [np.iinfo(np.int8).min, np.iinfo(np.int8).max + 1]),
415+
('int32', 'integer', [np.iinfo(np.int16).min, np.iinfo(np.int16).max + 1]),
416+
('int64', 'integer', [np.iinfo(np.int32).min, np.iinfo(np.int32).max + 1]),
417+
('int16', 'integer', [np.iinfo(np.int8).min - 1, np.iinfo(np.int16).max]),
418+
('int32', 'integer', [np.iinfo(np.int16).min - 1, np.iinfo(np.int32).max]),
419+
('int64', 'integer', [np.iinfo(np.int32).min - 1, np.iinfo(np.int64).max]),
420+
('uint16', 'unsigned', [np.iinfo(np.uint8).min, np.iinfo(np.uint8).max + 1]),
421+
('uint32', 'unsigned', [np.iinfo(np.uint16).min, np.iinfo(np.uint16).max + 1]),
422+
# ('uint64', 'unsigned', [np.iinfo(np.uint32).min, np.iinfo(np.uint32).max + 1]),
423+
]
424+
425+
for dtype, downcast, min_max in dtype_downcast_min_max:
426+
series = pd.to_numeric(pd.Series(min_max), downcast = downcast)
414427
tm.assert_equal(series.dtype, dtype)
415428

416-
417-
unsigned_dtype_min_max = {
418-
'uint8': [np.iinfo(np.uint8).min, np.iinfo(np.uint8).max],
419-
'uint16': [np.iinfo(np.uint16).min, np.iinfo(np.uint16).max],
420-
'uint32': [np.iinfo(np.uint32).min, np.iinfo(np.uint32).max],
421-
# 'uint64': [np.iinfo(np.uint64).min, np.iinfo(np.uint64).max]
422-
}
423-
424-
for dtype, min_max in unsigned_dtype_min_max.items():
425-
series = pd.to_numeric(pd.Series(min_max), downcast = 'unsigned')
426-
tm.assert_equal(series.dtype, dtype)
427-
428-
#check to see if the minimum number to shift integer types actually shifts
429-
430-
integer_dtype_min_max_plus = {
431-
'int16': [np.iinfo(np.int8).min, np.iinfo(np.int8).max + 1],
432-
'int32': [np.iinfo(np.int16).min, np.iinfo(np.int16).max + 1],
433-
'int64': [np.iinfo(np.int32).min, np.iinfo(np.int32).max + 1],
434-
}
435-
436-
for dtype, min_max in integer_dtype_min_max_plus.items():
437-
series = pd.to_numeric(pd.Series(min_max), downcast = 'integer')
438-
tm.assert_equal(series.dtype, dtype)
439-
440-
integer_dtype_min_max_minus = {
441-
'int16': [np.iinfo(np.int8).min - 1, np.iinfo(np.int16).max],
442-
'int32': [np.iinfo(np.int16).min - 1, np.iinfo(np.int32).max],
443-
'int64': [np.iinfo(np.int32).min - 1, np.iinfo(np.int64).max]
444-
}
445-
446-
for dtype, min_max in integer_dtype_min_max_minus.items():
447-
series = pd.to_numeric(pd.Series(min_max), downcast = 'integer')
448-
tm.assert_equal(series.dtype, dtype)
449-
450-
unsigned_dtype_min_max_plus = {
451-
'uint16': [np.iinfo(np.uint8).min, np.iinfo(np.uint8).max + 1],
452-
'uint32': [np.iinfo(np.uint16).min, np.iinfo(np.uint16).max + 1],
453-
# 'uint64': [np.iinfo(np.uint32).min, np.iinfo(np.uint32).max + 1],
454-
}
455-
456-
for dtype, min_max in unsigned_dtype_min_max_plus.items():
457-
series = pd.to_numeric(pd.Series(min_max), downcast = 'unsigned')
458-
tm.assert_equal(series.dtype, dtype)
459429

460430
if __name__ == '__main__':
461431
nose.runmodule(argv=[__file__, '-vvs', '-x', '--pdb', '--pdb-failure'],

0 commit comments

Comments
 (0)