Skip to content

Commit 8154efb

Browse files
authored
Remove Unnecessary Subclasses from test_excel (pandas-dev#26553)
1 parent 9e76f4a commit 8154efb

File tree

2 files changed

+20
-24
lines changed

2 files changed

+20
-24
lines changed

pandas/io/excel/_base.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -591,7 +591,7 @@ class ExcelWriter(metaclass=abc.ABCMeta):
591591
def __new__(cls, path, engine=None, **kwargs):
592592
# only switch class if generic(ExcelWriter)
593593

594-
if issubclass(cls, ExcelWriter):
594+
if cls is ExcelWriter:
595595
if engine is None or (isinstance(engine, str) and
596596
engine == 'auto'):
597597
if isinstance(path, str):

pandas/tests/io/test_excel.py

+19-23
Original file line numberDiff line numberDiff line change
@@ -1995,11 +1995,10 @@ def test_path_local_path(self, merge_cells, engine, ext):
19951995

19961996

19971997
@td.skip_if_no('openpyxl')
1998-
@pytest.mark.parametrize("merge_cells,ext,engine", [
1999-
(None, '.xlsx', 'openpyxl')])
2000-
class TestOpenpyxlTests(_WriterBase):
1998+
@pytest.mark.parametrize("ext", ['.xlsx'])
1999+
class TestOpenpyxlTests:
20012000

2002-
def test_to_excel_styleconverter(self, merge_cells, ext, engine):
2001+
def test_to_excel_styleconverter(self, ext):
20032002
from openpyxl import styles
20042003

20052004
hstyle = {
@@ -2053,7 +2052,7 @@ def test_to_excel_styleconverter(self, merge_cells, ext, engine):
20532052
assert kw['number_format'] == number_format
20542053
assert kw['protection'] == protection
20552054

2056-
def test_write_cells_merge_styled(self, merge_cells, ext, engine):
2055+
def test_write_cells_merge_styled(self, ext):
20572056
from pandas.io.formats.excel import ExcelCell
20582057

20592058
sheet_name = 'merge_styled'
@@ -2087,7 +2086,7 @@ def test_write_cells_merge_styled(self, merge_cells, ext, engine):
20872086

20882087
@pytest.mark.parametrize("mode,expected", [
20892088
('w', ['baz']), ('a', ['foo', 'bar', 'baz'])])
2090-
def test_write_append_mode(self, merge_cells, ext, engine, mode, expected):
2089+
def test_write_append_mode(self, ext, mode, expected):
20912090
import openpyxl
20922091
df = DataFrame([1], columns=['baz'])
20932092

@@ -2099,7 +2098,7 @@ def test_write_append_mode(self, merge_cells, ext, engine, mode, expected):
20992098
wb.worksheets[1]['A1'].value = 'bar'
21002099
wb.save(f)
21012100

2102-
writer = ExcelWriter(f, engine=engine, mode=mode)
2101+
writer = ExcelWriter(f, engine='openpyxl', mode=mode)
21032102
df.to_excel(writer, sheet_name='baz', index=False)
21042103
writer.save()
21052104

@@ -2112,12 +2111,11 @@ def test_write_append_mode(self, merge_cells, ext, engine, mode, expected):
21122111

21132112

21142113
@td.skip_if_no('xlwt')
2115-
@pytest.mark.parametrize("merge_cells,ext,engine", [
2116-
(None, '.xls', 'xlwt')])
2117-
class TestXlwtTests(_WriterBase):
2114+
@pytest.mark.parametrize("ext,", ['.xls'])
2115+
class TestXlwtTests:
21182116

21192117
def test_excel_raise_error_on_multiindex_columns_and_no_index(
2120-
self, merge_cells, ext, engine):
2118+
self, ext):
21212119
# MultiIndex as columns is not yet implemented 9794
21222120
cols = MultiIndex.from_tuples([('site', ''),
21232121
('2014', 'height'),
@@ -2127,16 +2125,15 @@ def test_excel_raise_error_on_multiindex_columns_and_no_index(
21272125
with ensure_clean(ext) as path:
21282126
df.to_excel(path, index=False)
21292127

2130-
def test_excel_multiindex_columns_and_index_true(self, merge_cells, ext,
2131-
engine):
2128+
def test_excel_multiindex_columns_and_index_true(self, ext):
21322129
cols = MultiIndex.from_tuples([('site', ''),
21332130
('2014', 'height'),
21342131
('2014', 'weight')])
21352132
df = pd.DataFrame(np.random.randn(10, 3), columns=cols)
21362133
with ensure_clean(ext) as path:
21372134
df.to_excel(path, index=True)
21382135

2139-
def test_excel_multiindex_index(self, merge_cells, ext, engine):
2136+
def test_excel_multiindex_index(self, ext):
21402137
# MultiIndex as index works so assert no error #9794
21412138
cols = MultiIndex.from_tuples([('site', ''),
21422139
('2014', 'height'),
@@ -2145,7 +2142,7 @@ def test_excel_multiindex_index(self, merge_cells, ext, engine):
21452142
with ensure_clean(ext) as path:
21462143
df.to_excel(path, index=False)
21472144

2148-
def test_to_excel_styleconverter(self, merge_cells, ext, engine):
2145+
def test_to_excel_styleconverter(self, ext):
21492146
import xlwt
21502147

21512148
hstyle = {"font": {"bold": True},
@@ -2164,21 +2161,20 @@ def test_to_excel_styleconverter(self, merge_cells, ext, engine):
21642161
assert xlwt.Alignment.HORZ_CENTER == xls_style.alignment.horz
21652162
assert xlwt.Alignment.VERT_TOP == xls_style.alignment.vert
21662163

2167-
def test_write_append_mode_raises(self, merge_cells, ext, engine):
2164+
def test_write_append_mode_raises(self, ext):
21682165
msg = "Append mode is not supported with xlwt!"
21692166

21702167
with ensure_clean(ext) as f:
21712168
with pytest.raises(ValueError, match=msg):
2172-
ExcelWriter(f, engine=engine, mode='a')
2169+
ExcelWriter(f, engine='xlwt', mode='a')
21732170

21742171

21752172
@td.skip_if_no('xlsxwriter')
2176-
@pytest.mark.parametrize("merge_cells,ext,engine", [
2177-
(None, '.xlsx', 'xlsxwriter')])
2178-
class TestXlsxWriterTests(_WriterBase):
2173+
@pytest.mark.parametrize("ext", ['.xlsx'])
2174+
class TestXlsxWriterTests:
21792175

21802176
@td.skip_if_no('openpyxl')
2181-
def test_column_format(self, merge_cells, ext, engine):
2177+
def test_column_format(self, ext):
21822178
# Test that column formats are applied to cells. Test for issue #9167.
21832179
# Applicable to xlsxwriter only.
21842180
with warnings.catch_warnings():
@@ -2222,12 +2218,12 @@ def test_column_format(self, merge_cells, ext, engine):
22222218

22232219
assert read_num_format == num_format
22242220

2225-
def test_write_append_mode_raises(self, merge_cells, ext, engine):
2221+
def test_write_append_mode_raises(self, ext):
22262222
msg = "Append mode is not supported with xlsxwriter!"
22272223

22282224
with ensure_clean(ext) as f:
22292225
with pytest.raises(ValueError, match=msg):
2230-
ExcelWriter(f, engine=engine, mode='a')
2226+
ExcelWriter(f, engine='xlsxwriter', mode='a')
22312227

22322228

22332229
class TestExcelWriterEngineTests:

0 commit comments

Comments
 (0)