Skip to content

Commit 9c5d112

Browse files
committed
Revert changes to tests that check data field
1 parent 0d0dad2 commit 9c5d112

File tree

8 files changed

+535
-543
lines changed

8 files changed

+535
-543
lines changed

Diff for: packages/python/plotly/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py

+461-455
Large diffs are not rendered by default.

Diff for: packages/python/plotly/plotly/tests/test_optional/test_px/test_imshow.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import base64
88
import datetime
99
from plotly.express.imshow_utils import rescale_intensity
10-
from plotly.tests.b64 import _b64
1110

1211
img_rgb = np.array([[[255, 0, 0], [0, 255, 0], [0, 0, 255]]], dtype=np.uint8)
1312
img_gray = np.arange(100, dtype=float).reshape((10, 10))
@@ -182,7 +181,7 @@ def test_imshow_xarray(binary_string):
182181
assert fig.layout.xaxis.title.text == "dim_cols"
183182
assert fig.layout.yaxis.title.text == "dim_rows"
184183
if not binary_string:
185-
assert np.all(np.array(fig.data[0].x) == _b64(da.coords["dim_cols"]))
184+
assert np.all(np.array(fig.data[0].x) == np.array(da.coords["dim_cols"]))
186185

187186

188187
def test_imshow_xarray_slicethrough():
@@ -192,7 +191,7 @@ def test_imshow_xarray_slicethrough():
192191
# Dimensions are used for axis labels and coordinates
193192
assert fig.layout.xaxis.title.text == "dim_2"
194193
assert fig.layout.yaxis.title.text == "dim_1"
195-
assert np.all(np.array(fig.data[0].x) == _b64(da.coords["dim_2"]))
194+
assert np.all(np.array(fig.data[0].x) == np.array(da.coords["dim_2"]))
196195

197196

198197
def test_imshow_xarray_facet_col_string():
@@ -204,7 +203,7 @@ def test_imshow_xarray_facet_col_string():
204203
# Dimensions are used for axis labels and coordinates
205204
assert fig.layout.xaxis.title.text == "dim_2"
206205
assert fig.layout.yaxis.title.text == "dim_1"
207-
assert np.all(np.array(fig.data[0].x) == _b64(da.coords["dim_2"]))
206+
assert np.all(np.array(fig.data[0].x) == np.array(da.coords["dim_2"]))
208207

209208

210209
def test_imshow_xarray_animation_frame_string():
@@ -216,7 +215,7 @@ def test_imshow_xarray_animation_frame_string():
216215
# Dimensions are used for axis labels and coordinates
217216
assert fig.layout.xaxis.title.text == "dim_2"
218217
assert fig.layout.yaxis.title.text == "dim_1"
219-
assert np.all(np.array(fig.data[0].x) == _b64(da.coords["dim_2"]))
218+
assert np.all(np.array(fig.data[0].x) == np.array(da.coords["dim_2"]))
220219

221220

222221
def test_imshow_xarray_animation_facet_slicethrough():
@@ -226,7 +225,7 @@ def test_imshow_xarray_animation_facet_slicethrough():
226225
# Dimensions are used for axis labels and coordinates
227226
assert fig.layout.xaxis.title.text == "dim_3"
228227
assert fig.layout.yaxis.title.text == "dim_2"
229-
assert np.all(np.array(fig.data[0].x) == _b64(da.coords["dim_3"]))
228+
assert np.all(np.array(fig.data[0].x) == np.array(da.coords["dim_3"]))
230229

231230

232231
def test_imshow_labels_and_ranges():
@@ -292,7 +291,8 @@ def test_imshow_dataframe():
292291
assert fig.data[0].x[0] == df.columns[0]
293292
assert fig.data[0].x[0] == "nation"
294293
assert fig.layout.xaxis.title.text is None
295-
assert fig.data[0].y == _b64(df.index)
294+
assert fig.data[0].y[0] == df.index[0]
295+
assert fig.data[0].y[0] == 0
296296
assert fig.layout.yaxis.title.text is None
297297

298298
df = px.data.medals_wide(indexed=True)

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

+4-8
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,14 @@
33
import numpy as np
44
import pytest
55
from itertools import permutations
6-
from plotly.tests.b64 import _b64
76

87

98
def test_scatter():
109
iris = px.data.iris()
1110
fig = px.scatter(iris, x="sepal_width", y="sepal_length")
1211
assert fig.data[0].type == "scatter"
13-
assert np.all(fig.data[0].x == _b64(iris.sepal_width))
14-
assert np.all(fig.data[0].y == _b64(iris.sepal_length))
12+
assert np.all(fig.data[0].x == iris.sepal_width)
13+
assert np.all(fig.data[0].y == iris.sepal_length)
1514
# test defaults
1615
assert fig.data[0].mode == "markers"
1716

@@ -29,11 +28,8 @@ def test_custom_data_scatter():
2928
color="species",
3029
hover_data=["petal_length", "petal_width"],
3130
)
32-
assert fig.data[0].customdata == {
33-
"dtype": "f8",
34-
"bdata": "ZmZmZmZm9j+amZmZmZnJP2ZmZmZmZvY/mpmZmZmZyT/NzMzMzMz0P5qZmZmZmck/AAAAAAAA+D+amZmZmZnJP2ZmZmZmZvY/mpmZmZmZyT8zMzMzMzP7P5qZmZmZmdk/ZmZmZmZm9j8zMzMzMzPTPwAAAAAAAPg/mpmZmZmZyT9mZmZmZmb2P5qZmZmZmck/AAAAAAAA+D+amZmZmZm5PwAAAAAAAPg/mpmZmZmZyT+amZmZmZn5P5qZmZmZmck/ZmZmZmZm9j+amZmZmZm5P5qZmZmZmfE/mpmZmZmZuT8zMzMzMzPzP5qZmZmZmck/AAAAAAAA+D+amZmZmZnZP83MzMzMzPQ/mpmZmZmZ2T9mZmZmZmb2PzMzMzMzM9M/MzMzMzMz+z8zMzMzMzPTPwAAAAAAAPg/MzMzMzMz0z8zMzMzMzP7P5qZmZmZmck/AAAAAAAA+D+amZmZmZnZPwAAAAAAAPA/mpmZmZmZyT8zMzMzMzP7PwAAAAAAAOA/ZmZmZmZm/j+amZmZmZnJP5qZmZmZmfk/mpmZmZmZyT+amZmZmZn5P5qZmZmZmdk/AAAAAAAA+D+amZmZmZnJP2ZmZmZmZvY/mpmZmZmZyT+amZmZmZn5P5qZmZmZmck/mpmZmZmZ+T+amZmZmZnJPwAAAAAAAPg/mpmZmZmZ2T8AAAAAAAD4P5qZmZmZmbk/ZmZmZmZm9j+amZmZmZnJPwAAAAAAAPg/mpmZmZmZuT8zMzMzMzPzP5qZmZmZmck/zczMzMzM9D+amZmZmZnJPwAAAAAAAPg/mpmZmZmZuT/NzMzMzMz0P5qZmZmZmck/AAAAAAAA+D+amZmZmZnJP83MzMzMzPQ/MzMzMzMz0z/NzMzMzMz0PzMzMzMzM9M/zczMzMzM9D+amZmZmZnJP5qZmZmZmfk/MzMzMzMz4z9mZmZmZmb+P5qZmZmZmdk/ZmZmZmZm9j8zMzMzMzPTP5qZmZmZmfk/mpmZmZmZyT9mZmZmZmb2P5qZmZmZmck/AAAAAAAA+D+amZmZmZnJP2ZmZmZmZvY/mpmZmZmZyT8=",
35-
"shape": "50, 2",
36-
}
31+
for data in fig.data:
32+
assert np.all(np.in1d(data.customdata[:, 1], iris.petal_width))
3733
# Hover and custom data, no repeated arguments
3834
fig = px.scatter(
3935
iris,

Diff for: packages/python/plotly/plotly/tests/test_optional/test_px/test_px_functions.py

+11-23
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import numpy as np
55
import pandas as pd
66
import pytest
7-
from plotly.tests.b64 import _b64
87

98

109
def _compare_figures(go_trace, px_fig):
@@ -18,9 +17,9 @@ def _compare_figures(go_trace, px_fig):
1817
del go_fig["layout"]["template"]
1918
del px_fig["layout"]["template"]
2019
for key in go_fig["data"][0]:
21-
assert_array_equal(_b64(go_fig["data"][0][key]), _b64(px_fig["data"][0][key]))
20+
assert_array_equal(go_fig["data"][0][key], px_fig["data"][0][key])
2221
for key in go_fig["layout"]:
23-
assert _b64(go_fig["layout"][key]) == _b64(px_fig["layout"][key])
22+
assert go_fig["layout"][key] == px_fig["layout"][key]
2423

2524

2625
def test_pie_like_px():
@@ -150,11 +149,11 @@ def test_sunburst_treemap_with_path():
150149
# Values passed
151150
fig = px.sunburst(df, path=path, values="values")
152151
assert fig.data[0].branchvalues == "total"
153-
assert fig.data[0].values == {"bdata": "AQMCBAICAQQGBQQECgkT", "dtype": "i1"}
152+
assert fig.data[0].values[-1] == np.sum(values)
154153
# Values passed
155154
fig = px.sunburst(df, path=path, values="values")
156155
assert fig.data[0].branchvalues == "total"
157-
assert fig.data[0].values == {"bdata": "AQMCBAICAQQGBQQECgkT", "dtype": "i1"}
156+
assert fig.data[0].values[-1] == np.sum(values)
158157
# Error when values cannot be converted to numerical data type
159158
df["values"] = ["1 000", "3 000", "2", "4", "2", "2", "1 000", "4 000"]
160159
msg = "Column `values` of `df` could not be converted to a numerical data type."
@@ -167,11 +166,9 @@ def test_sunburst_treemap_with_path():
167166
# Continuous colorscale
168167
df["values"] = 1
169168
fig = px.sunburst(df, path=path, values="values", color="values")
170-
# assert "coloraxis" in fig.data[0].marker
171-
assert fig.data[0].values == {"bdata": "AQEBAQEBAQECAgICBAQI", "dtype": "i1"}
172-
# depending on pandas version we get different dtype for marker.colors
173-
assert fig.data[0].marker.colors["bdata"] is not None
174-
assert fig.data[0].marker.colors["dtype"] is not None
169+
assert "coloraxis" in fig.data[0].marker
170+
assert np.all(np.array(fig.data[0].marker.colors) == 1)
171+
assert fig.data[0].values[-1] == 8
175172

176173

177174
def test_sunburst_treemap_with_path_and_hover():
@@ -228,16 +225,10 @@ def test_sunburst_treemap_with_path_color():
228225
path = ["total", "regions", "sectors", "vendors"]
229226
fig = px.sunburst(df, path=path, values="values", color="calls")
230227
colors = fig.data[0].marker.colors
231-
assert colors == {
232-
"bdata": "AAAAAAAAIEAAAAAAAAAAQAAAAAAAAPA/AAAAAAAACEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAEEAAAAAAAADwP6uqqqqqqgJAmpmZmZmZ+T8AAAAAAAAMQAAAAAAAAABAZmZmZmZmBkAcx3Ecx3H8P2wor6G8hgJA",
233-
"dtype": "f8",
234-
}
228+
assert np.all(np.array(colors[:8]) == np.array(calls))
235229
fig = px.sunburst(df, path=path, color="calls")
236230
colors = fig.data[0].marker.colors
237-
assert colors == {
238-
"bdata": "AAAAAAAAIEAAAAAAAAAAQAAAAAAAAPA/AAAAAAAACEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAEEAAAAAAAADwPwAAAAAAAABAAAAAAAAABEAAAAAAAAAUQAAAAAAAAABAAAAAAAAADEAAAAAAAAACQAAAAAAAAAdA",
239-
"dtype": "f8",
240-
}
231+
assert np.all(np.array(colors[:8]) == np.array(calls))
241232

242233
# Hover info
243234
df["hover"] = [el.lower() for el in vendors]
@@ -261,10 +252,7 @@ def test_sunburst_treemap_with_path_color():
261252
path = ["total", "regions", "sectors", "vendors"]
262253
fig = px.sunburst(df, path=path, values="values", color="calls")
263254
colors = fig.data[0].marker.colors
264-
assert colors == {
265-
"bdata": "AAAAAAAAIEAAAAAAAAAAQAAAAAAAAPA/AAAAAAAACEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAEEAAAAAAAADwP6uqqqqqqgJAmpmZmZmZ+T8AAAAAAAAMQAAAAAAAAABAZmZmZmZmBkAcx3Ecx3H8P2wor6G8hgJA",
266-
"dtype": "f8",
267-
}
255+
assert np.all(np.array(colors[:8]) == np.array(calls))
268256

269257

270258
def test_sunburst_treemap_column_parent():
@@ -337,7 +325,7 @@ def test_sunburst_treemap_with_path_non_rectangular():
337325
fig = px.sunburst(df, path=path, values="values")
338326
df.loc[df["vendors"].isnull(), "sectors"] = "Other"
339327
fig = px.sunburst(df, path=path, values="values")
340-
assert fig.data[0].values == {"bdata": "AQMCBAICAQQGBQEBBAQLChU=", "dtype": "i1"}
328+
assert fig.data[0].values[-1] == np.sum(values)
341329

342330

343331
def test_pie_funnelarea_colorscale():

Diff for: packages/python/plotly/plotly/tests/test_optional/test_px/test_px_input.py

+41-38
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import unittest.mock as mock
88
from plotly.express._core import build_dataframe
99
from pandas.testing import assert_frame_equal
10-
from plotly.tests.b64 import b64, _b64
1110
import sys
1211
import warnings
1312

@@ -29,9 +28,8 @@ def add_interchange_module_for_old_pandas():
2928

3029
def test_numpy():
3130
fig = px.scatter(x=[1, 2, 3], y=[2, 3, 4], color=[1, 3, 9])
32-
33-
assert np.all(fig.data[0].x == b64(np.array([1, 2, 3])))
34-
assert np.all(fig.data[0].y == b64(np.array([2, 3, 4])))
31+
assert np.all(fig.data[0].x == np.array([1, 2, 3]))
32+
assert np.all(fig.data[0].y == np.array([2, 3, 4]))
3533
assert np.all(fig.data[0].marker.color == np.array([1, 3, 9]))
3634

3735

@@ -103,16 +101,16 @@ def test_several_dataframes():
103101
df = pd.DataFrame(dict(x=[0, 1], y=[3, 4]))
104102
df2 = pd.DataFrame(dict(x=[3, 5], y=[23, 24]))
105103
fig = px.scatter(x=df.y, y=df2.y)
106-
assert np.all(fig.data[0].x == b64(np.array([3, 4])))
107-
assert np.all(fig.data[0].y == b64(np.array([23, 24])))
104+
assert np.all(fig.data[0].x == np.array([3, 4]))
105+
assert np.all(fig.data[0].y == np.array([23, 24]))
108106
assert fig.data[0].hovertemplate == "x=%{x}<br>y=%{y}<extra></extra>"
109107

110108
df = pd.DataFrame(dict(x=[0, 1], y=[3, 4]))
111109
df2 = pd.DataFrame(dict(x=[3, 5], y=[23, 24]))
112110
df3 = pd.DataFrame(dict(y=[0.1, 0.2]))
113111
fig = px.scatter(x=df.y, y=df2.y, size=df3.y)
114-
assert np.all(fig.data[0].x == b64(np.array([3, 4])))
115-
assert np.all(fig.data[0].y == b64(np.array([23, 24])))
112+
assert np.all(fig.data[0].x == np.array([3, 4]))
113+
assert np.all(fig.data[0].y == np.array([23, 24]))
116114
assert (
117115
fig.data[0].hovertemplate
118116
== "x=%{x}<br>y=%{y}<br>size=%{marker.size}<extra></extra>"
@@ -122,8 +120,8 @@ def test_several_dataframes():
122120
df2 = pd.DataFrame(dict(x=[3, 5], y=[23, 24]))
123121
df3 = pd.DataFrame(dict(y=[0.1, 0.2]))
124122
fig = px.scatter(x=df.y, y=df2.y, hover_data=[df3.y])
125-
assert np.all(fig.data[0].x == b64(np.array([3, 4])))
126-
assert np.all(fig.data[0].y == b64(np.array([23, 24])))
123+
assert np.all(fig.data[0].x == np.array([3, 4]))
124+
assert np.all(fig.data[0].y == np.array([23, 24]))
127125
assert (
128126
fig.data[0].hovertemplate
129127
== "x=%{x}<br>y=%{y}<br>hover_data_0=%{customdata[0]}<extra></extra>"
@@ -133,8 +131,8 @@ def test_several_dataframes():
133131
def test_name_heuristics():
134132
df = pd.DataFrame(dict(x=[0, 1], y=[3, 4], z=[0.1, 0.2]))
135133
fig = px.scatter(df, x=df.y, y=df.x, size=df.y)
136-
assert np.all(fig.data[0].x == b64(np.array([3, 4])))
137-
assert np.all(fig.data[0].y == b64(np.array([0, 1])))
134+
assert np.all(fig.data[0].x == np.array([3, 4]))
135+
assert np.all(fig.data[0].y == np.array([0, 1]))
138136
assert fig.data[0].hovertemplate == "y=%{marker.size}<br>x=%{y}<extra></extra>"
139137

140138

@@ -407,27 +405,27 @@ def test_splom_case():
407405
assert len(fig.data[0].dimensions) == len(iris.columns)
408406
dic = {"a": [1, 2, 3], "b": [4, 5, 6], "c": [7, 8, 9]}
409407
fig = px.scatter_matrix(dic)
410-
assert np.all(fig.data[0].dimensions[0].values == b64(np.array(dic["a"])))
408+
assert np.all(fig.data[0].dimensions[0].values == np.array(dic["a"]))
411409
ar = np.arange(9).reshape((3, 3))
412410
fig = px.scatter_matrix(ar)
413-
assert np.all(fig.data[0].dimensions[0].values == b64(ar[:, 0]))
411+
assert np.all(fig.data[0].dimensions[0].values == ar[:, 0])
414412

415413

416414
def test_int_col_names():
417415
# DataFrame with int column names
418416
lengths = pd.DataFrame(np.random.random(100))
419417
fig = px.histogram(lengths, x=0)
420-
assert np.all(b64(np.array(lengths).flatten()) == fig.data[0].x)
418+
assert np.all(np.array(lengths).flatten() == fig.data[0].x)
421419
# Numpy array
422420
ar = np.arange(100).reshape((10, 10))
423421
fig = px.scatter(ar, x=2, y=8)
424-
assert np.all(fig.data[0].x == b64(ar[:, 2]))
422+
assert np.all(fig.data[0].x == ar[:, 2])
425423

426424

427425
def test_data_frame_from_dict():
428426
fig = px.scatter({"time": [0, 1], "money": [1, 2]}, x="time", y="money")
429427
assert fig.data[0].hovertemplate == "time=%{x}<br>money=%{y}<extra></extra>"
430-
assert np.all(fig.data[0].x == _b64([0, 1]))
428+
assert np.all(fig.data[0].x == [0, 1])
431429

432430

433431
def test_arguments_not_modified():
@@ -491,11 +489,13 @@ def test_identity_map():
491489

492490
def test_constants():
493491
fig = px.scatter(x=px.Constant(1), y=[1, 2])
494-
assert fig.data[0].x == _b64([1, 1])
492+
assert fig.data[0].x[0] == 1
493+
assert fig.data[0].x[1] == 1
495494
assert "x=" in fig.data[0].hovertemplate
496495

497496
fig = px.scatter(x=px.Constant(1, label="time"), y=[1, 2])
498-
assert fig.data[0].x == _b64([1, 1])
497+
assert fig.data[0].x[0] == 1
498+
assert fig.data[0].x[1] == 1
499499
assert "x=" not in fig.data[0].hovertemplate
500500
assert "time=" in fig.data[0].hovertemplate
501501

@@ -519,12 +519,15 @@ def test_constants():
519519

520520
def test_ranges():
521521
fig = px.scatter(x=px.Range(), y=[1, 2], hover_data=[px.Range()])
522-
assert fig.data[0].x == _b64([0, 1])
523-
assert fig.data[0].customdata == _b64([[0], [1]])
522+
assert fig.data[0].x[0] == 0
523+
assert fig.data[0].x[1] == 1
524+
assert fig.data[0].customdata[0][0] == 0
525+
assert fig.data[0].customdata[1][0] == 1
524526
assert "x=" in fig.data[0].hovertemplate
525527

526528
fig = px.scatter(x=px.Range(label="time"), y=[1, 2])
527-
assert fig.data[0].x == _b64([0, 1])
529+
assert fig.data[0].x[0] == 0
530+
assert fig.data[0].x[1] == 1
528531
assert "x=" not in fig.data[0].hovertemplate
529532
assert "time=" in fig.data[0].hovertemplate
530533

@@ -614,55 +617,55 @@ def test_x_or_y(fn):
614617
categorical_df = pd.DataFrame(dict(col=categorical), index=index)
615618

616619
fig = fn(x=numerical)
617-
assert fig.data[0].x == _b64(numerical)
618-
assert fig.data[0].y == _b64(range_4)
620+
assert list(fig.data[0].x) == numerical
621+
assert list(fig.data[0].y) == range_4
619622
assert fig.data[0].orientation == "h"
620623
fig = fn(y=numerical)
621-
assert fig.data[0].x == _b64(range_4)
622-
assert fig.data[0].y == _b64(numerical)
624+
assert list(fig.data[0].x) == range_4
625+
assert list(fig.data[0].y) == numerical
623626
assert fig.data[0].orientation == "v"
624627
fig = fn(numerical_df, x="col")
625-
assert fig.data[0].x == _b64(numerical)
626-
assert fig.data[0].y == _b64(index)
628+
assert list(fig.data[0].x) == numerical
629+
assert list(fig.data[0].y) == index
627630
assert fig.data[0].orientation == "h"
628631
fig = fn(numerical_df, y="col")
629-
assert fig.data[0].x == _b64(index)
630-
assert fig.data[0].y == _b64(numerical)
632+
assert list(fig.data[0].x) == index
633+
assert list(fig.data[0].y) == numerical
631634
assert fig.data[0].orientation == "v"
632635

633636
if fn != px.bar:
634637
fig = fn(x=categorical)
635638
assert list(fig.data[0].x) == categorical
636-
assert fig.data[0].y == _b64(range_4)
639+
assert list(fig.data[0].y) == range_4
637640
assert fig.data[0].orientation == "h"
638641
fig = fn(y=categorical)
639-
assert fig.data[0].x == _b64(range_4)
642+
assert list(fig.data[0].x) == range_4
640643
assert list(fig.data[0].y) == categorical
641644
assert fig.data[0].orientation == "v"
642645
fig = fn(categorical_df, x="col")
643646
assert list(fig.data[0].x) == categorical
644-
assert fig.data[0].y == _b64(index)
647+
assert list(fig.data[0].y) == index
645648
assert fig.data[0].orientation == "h"
646649
fig = fn(categorical_df, y="col")
647-
assert fig.data[0].x == _b64(index)
650+
assert list(fig.data[0].x) == index
648651
assert list(fig.data[0].y) == categorical
649652
assert fig.data[0].orientation == "v"
650653

651654
else:
652655
fig = fn(x=categorical)
653656
assert list(fig.data[0].x) == categorical
654-
assert fig.data[0].y == _b64(constant)
657+
assert list(fig.data[0].y) == constant
655658
assert fig.data[0].orientation == "v"
656659
fig = fn(y=categorical)
657-
assert fig.data[0].x == _b64(constant)
660+
assert list(fig.data[0].x) == constant
658661
assert list(fig.data[0].y) == categorical
659662
assert fig.data[0].orientation == "h"
660663
fig = fn(categorical_df, x="col")
661664
assert list(fig.data[0].x) == categorical
662-
assert fig.data[0].y == _b64(constant)
665+
assert list(fig.data[0].y) == constant
663666
assert fig.data[0].orientation == "v"
664667
fig = fn(categorical_df, y="col")
665-
assert fig.data[0].x == _b64(constant)
668+
assert list(fig.data[0].x) == constant
666669
assert list(fig.data[0].y) == categorical
667670
assert fig.data[0].orientation == "h"
668671

0 commit comments

Comments
 (0)