(data, arr)
| 78 | |
| 79 | @given(st.data(), an_array) |
| 80 | def test_roundtrip_dataarray(data, arr) -> None: |
| 81 | names = data.draw( |
| 82 | st.lists(st.text(), min_size=arr.ndim, max_size=arr.ndim, unique=True).map( |
| 83 | tuple |
| 84 | ) |
| 85 | ) |
| 86 | coords = {name: np.arange(n) for (name, n) in zip(names, arr.shape, strict=True)} |
| 87 | original = xr.DataArray(arr, dims=names, coords=coords) |
| 88 | roundtripped = xr.DataArray(original.to_pandas()) |
| 89 | xr.testing.assert_identical(original, roundtripped) |
| 90 | |
| 91 | |
| 92 | @given(datasets_1d_vars()) |