Skip to content

Commit d12c655

Browse files
committed
Impoved testing
1 parent f58bb5a commit d12c655

File tree

2 files changed

+54
-10
lines changed

2 files changed

+54
-10
lines changed

pandas/tests/plotting/common.py

+2
Original file line numberDiff line numberDiff line change
@@ -337,13 +337,15 @@ def _check_axes_shape(self, axes, axes_num=None, layout=None, figsize=None):
337337
visible_axes = self._flatten_visible(axes)
338338

339339
if axes_num is not None:
340+
print(len(visible_axes), axes_num)
340341
assert len(visible_axes) == axes_num
341342
for ax in visible_axes:
342343
# check something drawn on visible axes
343344
assert len(ax.get_children()) > 0
344345

345346
if layout is not None:
346347
result = self._get_axes_layout(_flatten(axes))
348+
print(result, layout)
347349
assert result == layout
348350

349351
tm.assert_numpy_array_equal(

pandas/tests/plotting/test_hist_method.py

+52-10
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,34 @@ def test_hist_subplot_xrot(self):
269269
)
270270
self._check_ticks_props(axes, xrot=0)
271271

272+
@pytest.mark.slow
273+
@pytest.mark.parametrize("column", [None, "B"])
274+
@pytest.mark.parametrize("label", [None, "D"])
275+
def test_hist_with_legend(self, column, label):
276+
kwargs = {'legend': True}
277+
if label is not None:
278+
kwargs['label'] = label
279+
if column is not None:
280+
kwargs['column'] = column
281+
282+
columns = ["A", "B"]
283+
df = DataFrame(np.random.randn(30, 2), columns=columns)
284+
df["C"] = 15 * ["a"] + 15 * ["b"]
285+
df = df.set_index("C")
286+
_check_plot_works(df.hist, **kwargs)
287+
axes = df.hist(**kwargs)
288+
289+
axes_num = 2 if column is None else 1
290+
layout = (1, 2) if column is None else (1, 1)
291+
self._check_axes_shape(axes, axes_num=axes_num, layout=layout)
292+
293+
for labels, axis in zip(columns, axes[0]):
294+
if column is not None:
295+
labels = ["B"]
296+
if label is not None:
297+
labels = ["D"]
298+
self._check_legend_labels([axis], labels)
299+
272300

273301
@td.skip_if_no_mpl
274302
class TestDataFrameGroupByPlots(TestPlotBase):
@@ -461,13 +489,27 @@ def test_axis_share_xy(self):
461489
assert ax1._shared_y_axes.joined(ax1, ax2)
462490
assert ax2._shared_y_axes.joined(ax1, ax2)
463491

464-
465-
@pytest.mark.slow
466-
@pytest.mark.parametrize("by", [None, "C"])
467-
@pytest.mark.parametrize("column", [None, "B"])
468-
@pytest.mark.parametrize("label", [None, "D"])
469-
def test_hist_with_legend(by, column, label):
470-
df = DataFrame(np.random.randn(30, 2), columns=["A", "B"])
471-
df["C"] = 15 * ["a"] + 15 * ["b"]
472-
df = df.set_index("C")
473-
_check_plot_works(df.hist, by=by, column=column, label=label, legend=True)
492+
@pytest.mark.slow
493+
@pytest.mark.parametrize("column", [None, "B"])
494+
@pytest.mark.parametrize("label", [None, "D"])
495+
def test_hist_with_legend(self, column, label):
496+
kwargs = {'legend': True, "by": "C"}
497+
if label is not None:
498+
kwargs['label'] = label
499+
if column is not None:
500+
kwargs['column'] = column
501+
502+
columns = ["A", "B"]
503+
df = DataFrame(np.random.randn(30, 2), columns=columns)
504+
df["C"] = 15 * ["a"] + 15 * ["b"]
505+
df = df.set_index("C")
506+
_check_plot_works(df.hist, **kwargs)
507+
axes = df.hist(**kwargs)
508+
509+
self._check_axes_shape(axes, axes_num=2, layout=(1, 2))
510+
labels = columns
511+
if column is not None:
512+
labels = ["B"]
513+
if label is not None:
514+
labels = ["D"]
515+
self._check_legend_labels(axes, labels)

0 commit comments

Comments
 (0)