|
48 | 48 | )
|
49 | 49 | from xarray.backends.pydap_ import PydapDataStore
|
50 | 50 | from xarray.backends.scipy_ import ScipyBackendEntrypoint
|
| 51 | +from xarray.coding.cftime_offsets import cftime_range |
51 | 52 | from xarray.coding.strings import check_vlen_dtype, create_vlen_dtype
|
52 | 53 | from xarray.coding.variables import SerializationWarning
|
53 | 54 | from xarray.conventions import encode_dataset_coordinates
|
@@ -2810,18 +2811,22 @@ def test_attributes(self, obj) -> None:
|
2810 | 2811 | ds.to_zarr(store_target, **self.version_kwargs)
|
2811 | 2812 |
|
2812 | 2813 | @requires_dask
|
2813 |
| - def test_chunked_datetime64(self) -> None: |
2814 |
| - # Copied from @malmans2's PR #8253 |
2815 |
| - original = create_test_data().astype("datetime64[ns]").chunk(1) |
| 2814 | + @pytest.mark.parametrize("dtype", ["datetime64[ns]", "timedelta64[ns]"]) |
| 2815 | + def test_chunked_datetime64_or_timedelta64(self, dtype) -> None: |
| 2816 | + # Generalized from test in @malmans2's PR #8253 |
| 2817 | + original = create_test_data().astype(dtype).chunk(1) |
2816 | 2818 | with self.roundtrip(original, open_kwargs={"chunks": {}}) as actual:
|
2817 | 2819 | for name, actual_var in actual.variables.items():
|
2818 | 2820 | assert original[name].chunks == actual_var.chunks
|
2819 | 2821 | assert original.chunks == actual.chunks
|
2820 | 2822 |
|
| 2823 | + @requires_cftime |
2821 | 2824 | @requires_dask
|
2822 |
| - def test_chunked_timedelta64(self) -> None: |
2823 |
| - # Based @malmans2's datetime64[ns] test in PR #8253 |
2824 |
| - original = create_test_data().astype("timedelta64[ns]").chunk(1) |
| 2825 | + def test_chunked_cftime_datetime(self) -> None: |
| 2826 | + # Based on @malmans2's test in PR #8253 |
| 2827 | + times = cftime_range("2000", freq="D", periods=3) |
| 2828 | + original = xr.Dataset(data_vars={"chunked_times": (["time"], times)}) |
| 2829 | + original = original.chunk({"time": 1}) |
2825 | 2830 | with self.roundtrip(original, open_kwargs={"chunks": {}}) as actual:
|
2826 | 2831 | for name, actual_var in actual.variables.items():
|
2827 | 2832 | assert original[name].chunks == actual_var.chunks
|
|
0 commit comments