Skip to content

Commit 5e0b2bc

Browse files
committed
Futher parametrization
1 parent 26067e5 commit 5e0b2bc

File tree

1 file changed

+42
-41
lines changed

1 file changed

+42
-41
lines changed

pandas/tests/io/test_excel.py

+42-41
Original file line numberDiff line numberDiff line change
@@ -1129,48 +1129,49 @@ def test_basics_with_nan(self, merge_cells, engine, ext):
11291129
self.frame.to_excel(path, 'test1', header=False)
11301130
self.frame.to_excel(path, 'test1', index=False)
11311131

1132-
def test_int_types(self, merge_cells, engine, ext):
1133-
for np_type in (np.int8, np.int16, np.int32, np.int64):
1132+
@pytest.mark.parametrize("np_type", [
1133+
np.int8, np.int16, np.int32, np.int64])
1134+
def test_int_types(self, merge_cells, engine, ext, np_type):
1135+
with ensure_clean(ext) as path:
1136+
# Test np.int values read come back as int (rather than float
1137+
# which is Excel's format).
1138+
frame = DataFrame(np.random.randint(-10, 10, size=(10, 2)),
1139+
dtype=np_type)
1140+
frame.to_excel(path, 'test1')
1141+
reader = ExcelFile(path)
1142+
recons = read_excel(reader, 'test1')
1143+
int_frame = frame.astype(np.int64)
1144+
tm.assert_frame_equal(int_frame, recons)
1145+
recons2 = read_excel(path, 'test1')
1146+
tm.assert_frame_equal(int_frame, recons2)
1147+
1148+
# test with convert_float=False comes back as float
1149+
float_frame = frame.astype(float)
1150+
recons = read_excel(path, 'test1', convert_float=False)
1151+
tm.assert_frame_equal(recons, float_frame,
1152+
check_index_type=False,
1153+
check_column_type=False)
1154+
1155+
@pytest.mark.parametrize("np_type", [
1156+
np.float16, np.float32, np.float64])
1157+
def test_float_types(self, merge_cells, engine, ext, np_type):
1158+
with ensure_clean(ext) as path:
1159+
# Test np.float values read come back as float.
1160+
frame = DataFrame(np.random.random_sample(10), dtype=np_type)
1161+
frame.to_excel(path, 'test1')
1162+
reader = ExcelFile(path)
1163+
recons = read_excel(reader, 'test1').astype(np_type)
1164+
tm.assert_frame_equal(frame, recons, check_dtype=False)
11341165

1135-
with ensure_clean(ext) as path:
1136-
# Test np.int values read come back as int (rather than float
1137-
# which is Excel's format).
1138-
frame = DataFrame(np.random.randint(-10, 10, size=(10, 2)),
1139-
dtype=np_type)
1140-
frame.to_excel(path, 'test1')
1141-
reader = ExcelFile(path)
1142-
recons = read_excel(reader, 'test1')
1143-
int_frame = frame.astype(np.int64)
1144-
tm.assert_frame_equal(int_frame, recons)
1145-
recons2 = read_excel(path, 'test1')
1146-
tm.assert_frame_equal(int_frame, recons2)
1147-
1148-
# test with convert_float=False comes back as float
1149-
float_frame = frame.astype(float)
1150-
recons = read_excel(path, 'test1', convert_float=False)
1151-
tm.assert_frame_equal(recons, float_frame,
1152-
check_index_type=False,
1153-
check_column_type=False)
1154-
1155-
def test_float_types(self, merge_cells, engine, ext):
1156-
for np_type in (np.float16, np.float32, np.float64):
1157-
with ensure_clean(ext) as path:
1158-
# Test np.float values read come back as float.
1159-
frame = DataFrame(np.random.random_sample(10), dtype=np_type)
1160-
frame.to_excel(path, 'test1')
1161-
reader = ExcelFile(path)
1162-
recons = read_excel(reader, 'test1').astype(np_type)
1163-
tm.assert_frame_equal(frame, recons, check_dtype=False)
1164-
1165-
def test_bool_types(self, merge_cells, engine, ext):
1166-
for np_type in (np.bool8, np.bool_):
1167-
with ensure_clean(ext) as path:
1168-
# Test np.bool values read come back as float.
1169-
frame = (DataFrame([1, 0, True, False], dtype=np_type))
1170-
frame.to_excel(path, 'test1')
1171-
reader = ExcelFile(path)
1172-
recons = read_excel(reader, 'test1').astype(np_type)
1173-
tm.assert_frame_equal(frame, recons)
1166+
@pytest.mark.parametrize("np_type", [np.bool8, np.bool_])
1167+
def test_bool_types(self, merge_cells, engine, ext, np_type):
1168+
with ensure_clean(ext) as path:
1169+
# Test np.bool values read come back as float.
1170+
frame = (DataFrame([1, 0, True, False], dtype=np_type))
1171+
frame.to_excel(path, 'test1')
1172+
reader = ExcelFile(path)
1173+
recons = read_excel(reader, 'test1').astype(np_type)
1174+
tm.assert_frame_equal(frame, recons)
11741175

11751176
def test_inf_roundtrip(self, merge_cells, engine, ext):
11761177
frame = DataFrame([(1, np.inf), (2, 3), (5, -np.inf)])

0 commit comments

Comments
 (0)