(backend, days_order, days_check, times_order, times_check)
| 291 | |
| 292 | |
| 293 | def assert_orderings(backend, days_order, days_check, times_order, times_check): |
| 294 | symbol_sequence = ["circle", "diamond", "square", "cross", "circle", "diamond"] |
| 295 | color_sequence = ["red", "blue", "red", "blue", "red", "blue", "red", "blue"] |
| 296 | |
| 297 | tips = nw.from_native(px.data.tips(return_type=backend)) |
| 298 | |
| 299 | fig = px.scatter( |
| 300 | tips.to_native(), |
| 301 | x="total_bill", |
| 302 | y="tip", |
| 303 | facet_row="time", |
| 304 | facet_col="day", |
| 305 | color="time", |
| 306 | symbol="day", |
| 307 | symbol_sequence=symbol_sequence, |
| 308 | color_discrete_sequence=color_sequence, |
| 309 | category_orders=dict(day=days_order, time=times_order), |
| 310 | ) |
| 311 | |
| 312 | for col in range(len(days_check)): |
| 313 | for trace in fig.select_traces(col=col + 1): |
| 314 | assert days_check[col] in trace.hovertemplate |
| 315 | |
| 316 | for row in range(len(times_check)): |
| 317 | for trace in fig.select_traces(row=len(times_check) - row): |
| 318 | assert times_check[row] in trace.hovertemplate |
| 319 | |
| 320 | for trace in fig.data: |
| 321 | for i, day in enumerate(days_check): |
| 322 | if day in trace.name: |
| 323 | assert trace.marker.symbol == symbol_sequence[i] |
| 324 | for i, time in enumerate(times_check): |
| 325 | if time in trace.name: |
| 326 | assert trace.marker.color == color_sequence[i] |
| 327 | |
| 328 | |
| 329 | @pytest.mark.parametrize("days", permutations(["Sun", "Sat", "Fri", "x"])) |
no test coverage detected