Skip to content

Commit 398f794

Browse files
test extra noise in category_orders
1 parent 92c13a5 commit 398f794

File tree

1 file changed

+39
-28
lines changed
  • packages/python/plotly/plotly/tests/test_core/test_px

1 file changed

+39
-28
lines changed

Diff for: packages/python/plotly/plotly/tests/test_core/test_px/test_px.py

+39-28
Original file line numberDiff line numberDiff line change
@@ -192,33 +192,44 @@ def test_orthogonal_orderings():
192192
symbol_sequence = ["circle", "diamond", "square", "cross"]
193193
color_sequence = ["red", "blue"]
194194

195+
def assert_orderings(days_order, days_check, times_order, times_check):
196+
fig = px.scatter(
197+
df,
198+
x="total_bill",
199+
y="tip",
200+
facet_row="time",
201+
facet_col="day",
202+
color="time",
203+
symbol="day",
204+
symbol_sequence=symbol_sequence,
205+
color_discrete_sequence=color_sequence,
206+
category_orders=dict(day=days_order, time=times_order),
207+
)
208+
209+
for col in range(len(days_check)):
210+
for trace in fig.select_traces(col=col + 1):
211+
assert days_check[col] in trace.hovertemplate
212+
213+
for row in range(len(times_check)):
214+
for trace in fig.select_traces(row=2 - row):
215+
assert times_check[row] in trace.hovertemplate
216+
217+
for trace in fig.data:
218+
for i, day in enumerate(days_check):
219+
if day in trace.name:
220+
assert trace.marker.symbol == symbol_sequence[i]
221+
for i, time in enumerate(times_check):
222+
if time in trace.name:
223+
assert trace.marker.color == color_sequence[i]
224+
225+
assert_orderings(
226+
["x", "Sun", "Sat", "y", "Fri", "z"], # add extra noise, missing Thur
227+
["Sun", "Sat", "Fri", "Thur"], # Thur is at the back
228+
["a", "Lunch", "b"], # add extra noise, missing Dinner
229+
["Lunch", "Dinner"], # Dinner is at the back
230+
)
231+
195232
for days in permutations(df["day"].unique()):
196233
for times in permutations(df["time"].unique()):
197-
fig = px.scatter(
198-
df,
199-
x="total_bill",
200-
y="tip",
201-
facet_row="time",
202-
facet_col="day",
203-
color="time",
204-
symbol="day",
205-
symbol_sequence=symbol_sequence,
206-
color_discrete_sequence=color_sequence,
207-
category_orders=dict(day=days, time=times),
208-
)
209-
210-
for col in range(len(days)):
211-
for trace in fig.select_traces(col=col + 1):
212-
assert days[col] in trace.hovertemplate
213-
214-
for row in range(len(times)):
215-
for trace in fig.select_traces(row=2 - row):
216-
assert times[row] in trace.hovertemplate
217-
218-
for trace in fig.data:
219-
for i, day in enumerate(days):
220-
if day in trace.name:
221-
assert trace.marker.symbol == symbol_sequence[i]
222-
for i, time in enumerate(times):
223-
if time in trace.name:
224-
assert trace.marker.color == color_sequence[i]
234+
assert_orderings(days, days, times, times)
235+

0 commit comments

Comments
 (0)