Skip to content

Commit

Permalink
convert .data to numpy, can't assume that array_api data will do that.
Browse files Browse the repository at this point in the history
  • Loading branch information
Illviljan committed Oct 29, 2023
1 parent c489741 commit 6dd175c
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions xarray/tests/test_namedarray.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
_DType,
_Shape,
duckarray,
_arrayapi,
)
from xarray.namedarray.utils import Default

Expand Down Expand Up @@ -67,13 +68,13 @@ def test_namedarray_init() -> None:
expected = np.array([1, 2], dtype=dtype)
actual: NamedArray[Any, np.dtype[np.int8]]
actual = NamedArray(("x",), expected)
assert np.array_equal(actual.data, expected)
assert np.array_equal(np.asarray(actual.data), expected)

with pytest.raises(AttributeError):
expected2 = [1, 2]
actual2: NamedArray[Any, Any]
actual2 = NamedArray(("x",), expected2) # type: ignore[arg-type]
assert np.array_equal(actual2.data, expected2)
assert np.array_equal(np.asarray(actual2.data), expected2)


@pytest.mark.parametrize(
Expand Down Expand Up @@ -102,7 +103,7 @@ def test_from_array(
else:
actual = from_array(dims, data)

assert np.array_equal(actual.data, expected)
assert np.array_equal(np.asarray(actual.data), expected)


def test_from_array_with_masked_array() -> None:
Expand All @@ -115,7 +116,8 @@ def test_from_array_with_masked_array() -> None:
def test_from_array_with_0d_object() -> None:
data = np.empty((), dtype=object)
data[()] = (10, 12, 12)
np.array_equal(from_array((), data).data, data)
narr = from_array((), data)
np.array_equal(np.asarray(narr.data), data)


# TODO: Make xr.core.indexing.ExplicitlyIndexed pass as a subclass of_arrayfunction_or_api
Expand All @@ -141,7 +143,7 @@ def test_properties() -> None:
named_array: NamedArray[Any, Any]
named_array = NamedArray(["x", "y"], data, {"key": "value"})
assert named_array.dims == ("x", "y")
assert np.array_equal(named_array.data, data)
assert np.array_equal(np.asarray(named_array.data), data)
assert named_array.attrs == {"key": "value"}
assert named_array.ndim == 2
assert named_array.sizes == {"x": 2, "y": 5}
Expand All @@ -163,7 +165,7 @@ def test_attrs() -> None:
def test_data(random_inputs: np.ndarray[Any, Any]) -> None:
named_array: NamedArray[Any, Any]
named_array = NamedArray(["x", "y", "z"], random_inputs)
assert np.array_equal(named_array.data, random_inputs)
assert np.array_equal(np.asarray(named_array.data), random_inputs)
with pytest.raises(ValueError):
named_array.data = np.random.random((3, 4)).astype(np.float64)

Expand All @@ -182,11 +184,11 @@ def test_real_and_imag() -> None:
named_array = NamedArray(["x"], arr)

actual_real: duckarray[Any, np.dtype[np.float64]] = named_array.real.data
assert np.array_equal(actual_real, expected_real)
assert np.array_equal(np.asarray(actual_real), expected_real)
assert actual_real.dtype == expected_real.dtype

actual_imag: duckarray[Any, np.dtype[np.float64]] = named_array.imag.data
assert np.array_equal(actual_imag, expected_imag)
assert np.array_equal(np.asarray(actual_imag), expected_imag)
assert actual_imag.dtype == expected_imag.dtype


Expand Down Expand Up @@ -215,7 +217,7 @@ def test_0d_object() -> None:
named_array = from_array([], (10, 12, 12))
expected_data = np.empty((), dtype=object)
expected_data[()] = (10, 12, 12)
assert np.array_equal(named_array.data, expected_data)
assert np.array_equal(np.asarray(named_array.data), expected_data)

assert named_array.dims == ()
assert named_array.sizes == {}
Expand Down

0 comments on commit 6dd175c

Please sign in to comment.