Skip to content

Commit

Permalink
revert changes in tests now that uid is no longer required by default
Browse files Browse the repository at this point in the history
  • Loading branch information
nvaytet committed Oct 31, 2024
1 parent a1ed0ae commit abd78d8
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 76 deletions.
36 changes: 18 additions & 18 deletions tests/backends/matplotlib/mpl_line_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

def test_line_creation():
da = data_array(ndim=1, unit='K')
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
assert line._unit == 'K'
assert line._dim == 'xx'
assert len(line._line.get_xdata()) == da.sizes['xx']
Expand All @@ -26,13 +26,13 @@ def test_line_creation():

def test_line_creation_bin_edges():
da = data_array(ndim=1, binedges=True)
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
assert len(line._line.get_xdata()) == da.sizes['xx'] + 1


def test_line_with_errorbars():
da = data_array(ndim=1, variances=True)
line = Line(uid='id', canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
assert line._error.has_yerr
coll = line._error.get_children()[0]
x = np.array(coll.get_segments())[:, 0, 0]
Expand All @@ -45,42 +45,42 @@ def test_line_with_errorbars():

def test_line_with_bin_edges_and_errorbars():
da = data_array(ndim=1, binedges=True, variances=True)
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
coll = line._error.get_children()[0]
x = np.array(coll.get_segments())[:, 0, 0]
assert np.allclose(x, sc.midpoints(da.coords['xx']).values)


def test_line_hide_errorbars():
da = data_array(ndim=1, variances=True)
line = Line(uid="id", canvas=Canvas(), data=da, errorbars=False)
line = Line(canvas=Canvas(), data=da, errorbars=False)
assert line._error is None


def test_line_with_mask():
da = data_array(ndim=1, masks=True)
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
assert line._mask.get_visible()


def test_line_with_mask_and_binedges():
da = data_array(ndim=1, binedges=True, masks=True)
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
assert line._mask.get_visible()


def test_line_with_two_masks():
da = data_array(ndim=1, masks=True)
da.masks['two'] = da.coords['xx'] > sc.scalar(25, unit='m')
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
expected = da.data[da.masks['mask'] | da.masks['two']].values
y = line._mask.get_ydata()
assert np.allclose(y[~np.isnan(y)], expected)


def test_line_update():
da = data_array(ndim=1)
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
assert np.allclose(line._line.get_xdata(), da.coords['xx'].values)
assert np.allclose(line._line.get_ydata(), da.values)
line.update(da * 2.5)
Expand All @@ -90,7 +90,7 @@ def test_line_update():

def test_line_update_with_errorbars():
da = data_array(ndim=1, variances=True)
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
coll = line._error.get_children()[0]
x = np.array(coll.get_segments())[:, 0, 0]
y1 = np.array(coll.get_segments())[:, 0, 1]
Expand Down Expand Up @@ -122,12 +122,12 @@ def test_line_datetime_binedges_with_errorbars():
# datetime, and comparing with the original data is thus difficult as the floats
# do not seem immediately convertible to datetimes.
# Hence, we simply check if the Line can be created without raising an exception.
Line(uid="id", canvas=Canvas(), data=da)
Line(canvas=Canvas(), data=da)


def test_line_color():
da = data_array(ndim=1)
line = Line(uid="id", canvas=Canvas(), data=da, color='red')
line = Line(canvas=Canvas(), data=da, color='red')
assert line.color == 'red'
assert line._line.get_color() == 'red'
line.color = 'blue'
Expand All @@ -137,31 +137,31 @@ def test_line_color():

def test_kwarg_linestyle():
da = data_array(ndim=1)
line = Line(uid="id", canvas=Canvas(), data=da, linestyle='solid')
line = Line(canvas=Canvas(), data=da, linestyle='solid')
assert line._line.get_linestyle() == '-'
line = Line(uid="id", canvas=Canvas(), data=da, ls='dashed')
line = Line(canvas=Canvas(), data=da, ls='dashed')
assert line._line.get_linestyle() == '--'


def test_kwarg_linewidth():
da = data_array(ndim=1)
line = Line(uid="id", canvas=Canvas(), data=da, linewidth=3)
line = Line(canvas=Canvas(), data=da, linewidth=3)
assert line._line.get_linewidth() == 3
line = Line(uid="id", canvas=Canvas(), data=da, lw=5)
line = Line(canvas=Canvas(), data=da, lw=5)
assert line._line.get_linewidth() == 5


def test_kwarg_marker():
da = data_array(ndim=1)
line = Line(uid="id", canvas=Canvas(), data=da, marker='+')
line = Line(canvas=Canvas(), data=da, marker='+')
assert line._line.get_marker() == '+'


def test_line_color_with_errorbars():
from matplotlib.colors import to_hex

da = data_array(ndim=1, variances=True)
line = Line(uid="id", canvas=Canvas(), data=da, color='C0')
line = Line(canvas=Canvas(), data=da, color='C0')
assert line.color == 'C0'
assert line._line.get_color() == 'C0'
assert to_hex(line._error.get_children()[0].get_color()) == to_hex('C0')
Expand Down
6 changes: 3 additions & 3 deletions tests/backends/matplotlib/mpl_scatter_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

def test_scatter_creation():
da = scatter_data()
scat = Scatter(uid="id", canvas=Canvas(), data=da)
scat = Scatter(canvas=Canvas(), data=da)
assert scat._unit == da.unit
assert len(scat._scatter.get_offsets()) == len(da)
x, y = scat._scatter.get_offsets().T
Expand All @@ -27,7 +27,7 @@ def test_scatter_creation():
def test_scatter_with_mask():
da = scatter_data()
da.masks['mask'] = da.coords['x'] > sc.scalar(5, unit='m')
scat = Scatter(uid="id", canvas=Canvas(), data=da)
scat = Scatter(canvas=Canvas(), data=da)
assert scat._mask.get_visible()
expected = da[da.masks['mask']]
x, y = scat._mask.get_offsets().T
Expand All @@ -37,7 +37,7 @@ def test_scatter_with_mask():

def test_scatter_update():
da = scatter_data()
scat = Scatter(uid="id", canvas=Canvas(), data=da)
scat = Scatter(canvas=Canvas(), data=da)
x, y = scat._scatter.get_offsets().T
assert np.allclose(x, da.coords['x'].values)
assert np.allclose(y, da.coords['y'].values)
Expand Down
22 changes: 11 additions & 11 deletions tests/backends/plotly/plotly_line_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

def test_line_creation():
da = data_array(ndim=1, unit='K')
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
assert line._unit == 'K'
assert line._dim == 'xx'
assert len(line._line.x) == da.sizes['xx']
Expand All @@ -26,52 +26,52 @@ def test_line_creation():

def test_line_creation_bin_edges():
da = data_array(ndim=1, binedges=True)
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
assert len(line._line.x) == da.sizes['xx'] + 1


def test_line_with_errorbars():
da = data_array(ndim=1, variances=True)
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
assert np.allclose(line._error.error_y['array'], sc.stddevs(da.data).values)


def test_line_with_bin_edges_and_errorbars():
da = data_array(ndim=1, binedges=True, variances=True)
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
assert np.allclose(line._error.x, sc.midpoints(da.coords['xx']).values)


def test_line_hide_errorbars():
da = data_array(ndim=1, variances=True)
line = Line(uid="id", canvas=Canvas(), data=da, errorbars=False)
line = Line(canvas=Canvas(), data=da, errorbars=False)
assert line._error is None


def test_line_with_mask():
da = data_array(ndim=1, masks=True)
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
assert line._mask.visible


def test_line_with_mask_and_binedges():
da = data_array(ndim=1, binedges=True, masks=True)
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
assert line._mask.visible


def test_line_with_two_masks():
da = data_array(ndim=1, masks=True)
da.masks['two'] = da.coords['xx'] > sc.scalar(25, unit='m')
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
expected = da.data[da.masks['mask'] | da.masks['two']].values
y = line._mask.y
assert np.allclose(y[~np.isnan(y)], expected)


def test_line_update():
da = data_array(ndim=1)
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
assert np.allclose(line._line.x, da.coords['xx'].values)
assert np.allclose(line._line.y, da.values)
line.update(da * 2.5)
Expand All @@ -81,7 +81,7 @@ def test_line_update():

def test_line_update_with_errorbars():
da = data_array(ndim=1, variances=True)
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
assert np.allclose(line._line.y, da.values)
assert np.allclose(line._error.error_y['array'], sc.stddevs(da.data).values)
new_values = da * 3.3
Expand All @@ -108,6 +108,6 @@ def test_line_datetime_binedges_with_errorbars():
xint = t.astype(int)
xmid = (0.5 * (xint[1:] + xint[:-1])).astype(int)
expected = np.array(xmid, dtype=t.dtype)
line = Line(uid="id", canvas=Canvas(), data=da)
line = Line(canvas=Canvas(), data=da)
# Note that allclose does not work on datetime dtypes
assert np.allclose(line._error.x.astype(int), expected.astype(int))
58 changes: 14 additions & 44 deletions tests/backends/pythreejs/pythreejs_scatter3d_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

def test_creation():
da = scatter()
scat = Scatter3d(uid="id", canvas=Canvas(), data=da, x='x', y='y', z='z')
scat = Scatter3d(canvas=Canvas(), data=da, x='x', y='y', z='z')
assert sc.identical(scat._data, da)
assert np.allclose(
scat.geometry.attributes['position'].array, da.coords['position'].values
Expand All @@ -21,7 +21,7 @@ def test_creation():

def test_update():
da = scatter()
scat = Scatter3d(uid="id", canvas=Canvas(), data=da, x='x', y='y', z='z')
scat = Scatter3d(canvas=Canvas(), data=da, x='x', y='y', z='z')
scat.update(da)
assert sc.identical(scat._data, da)
scat.update(da * 2.5)
Expand All @@ -31,7 +31,7 @@ def test_update():
def test_bounding_box():
da = scatter()
pix = 0.5
scat = Scatter3d(uid="id", canvas=Canvas(), data=da, x='x', y='y', z='z', size=pix)
scat = Scatter3d(canvas=Canvas(), data=da, x='x', y='y', z='z', size=pix)
bbox = scat.bbox(xscale='linear', yscale='linear', zscale='linear')
assert np.allclose(
[bbox.xmin, bbox.xmax, bbox.ymin, bbox.ymax, bbox.zmin, bbox.zmax],
Expand All @@ -50,7 +50,7 @@ def test_get_limits_flat_panel():
da = scatter()
da.coords['z'] *= 0.0
pix = 0.5
scat = Scatter3d(uid="id", canvas=Canvas(), data=da, x='x', y='y', z='z', size=pix)
scat = Scatter3d(canvas=Canvas(), data=da, x='x', y='y', z='z', size=pix)
bbox = scat.bbox(xscale='linear', yscale='linear', zscale='linear')
assert np.allclose(
[bbox.xmin, bbox.xmax, bbox.ymin, bbox.ymax, bbox.zmin, bbox.zmax],
Expand All @@ -72,45 +72,23 @@ def test_pixel_size():
size of 1 makes it easier to test.
"""
da = scatter()
reference = Scatter3d(
uid="id", canvas=Canvas(), data=da, x='x', y='y', z='z', size=1
)
reference = Scatter3d(canvas=Canvas(), data=da, x='x', y='y', z='z', size=1)
scat = Scatter3d(
uid="id",
canvas=Canvas(),
data=da,
x='x',
y='y',
z='z',
size=sc.scalar(2, unit='m'),
canvas=Canvas(), data=da, x='x', y='y', z='z', size=sc.scalar(2, unit='m')
)
assert scat.material.size == 2.0 * reference.material.size


def test_pixel_size_unit_conversion():
da = scatter()
reference = Scatter3d(
uid="id", canvas=Canvas(), data=da, x='x', y='y', z='z', size=1
)
reference = Scatter3d(canvas=Canvas(), data=da, x='x', y='y', z='z', size=1)
scat = Scatter3d(
uid="id",
canvas=Canvas(),
data=da,
x='x',
y='y',
z='z',
size=sc.scalar(350, unit='cm'),
canvas=Canvas(), data=da, x='x', y='y', z='z', size=sc.scalar(350, unit='cm')
)
assert scat.material.size == 3.5 * reference.material.size
with pytest.raises(sc.UnitError):
Scatter3d(
uid="id",
canvas=Canvas(),
data=da,
x='x',
y='y',
z='z',
size=sc.scalar(350, unit='s'),
canvas=Canvas(), data=da, x='x', y='y', z='z', size=sc.scalar(350, unit='s')
)


Expand All @@ -119,21 +97,13 @@ def test_pixel_size_cannot_have_units_when_spatial_dimensions_have_different_uni
new_x = da.coords['x'].copy()
new_x.unit = 's'
da.coords['x'] = new_x
reference = Scatter3d(
uid="id", canvas=Canvas(), data=da, x='x', y='y', z='z', size=1
)
reference = Scatter3d(canvas=Canvas(), data=da, x='x', y='y', z='z', size=1)
with pytest.raises(ValueError, match='The supplied size has unit'):
Scatter3d(
uid="id",
canvas=Canvas(),
data=da,
x='x',
y='y',
z='z',
size=sc.scalar(2.5, unit='m'),
canvas=Canvas(), data=da, x='x', y='y', z='z', size=sc.scalar(2.5, unit='m')
)
# Ok if no unit supplied
scat = Scatter3d(uid="id", canvas=Canvas(), data=da, x='x', y='y', z='z', size=2.5)
scat = Scatter3d(canvas=Canvas(), data=da, x='x', y='y', z='z', size=2.5)
assert scat.material.size == 2.5 * reference.material.size


Expand All @@ -143,12 +113,12 @@ def test_creation_raises_when_data_is_not_1d():
with pytest.raises(
sc.DimensionError, match='Scatter3d only accepts data with 1 dimension'
):
Scatter3d(uid="id", canvas=Canvas(), data=da2d, x='x', y='y', z='z')
Scatter3d(canvas=Canvas(), data=da2d, x='x', y='y', z='z')


def test_update_raises_when_data_is_not_1d():
da = scatter()
scat = Scatter3d(uid="id", canvas=Canvas(), data=da, x='x', y='y', z='z')
scat = Scatter3d(canvas=Canvas(), data=da, x='x', y='y', z='z')
da2d = sc.broadcast(da, sizes={**da.sizes, **{'time': 10}})
with pytest.raises(
sc.DimensionError, match='Scatter3d only accepts data with 1 dimension'
Expand Down

0 comments on commit abd78d8

Please sign in to comment.