MCPcopy Index your code
hub / github.com/pydata/xarray / test_encode_cf_timedelta_via_dask

Function test_encode_cf_timedelta_via_dask

xarray/tests/test_coding_times.py:1766–1789  ·  view source on GitHub ↗
(
    units: str | None, dtype: np.dtype | None, time_unit: PDDatetimeUnitOptions
)

Source from the content-addressed store, hash-verified

1764 ("units", "dtype"), [("days", np.dtype("int32")), (None, None)]
1765)
1766def test_encode_cf_timedelta_via_dask(
1767 units: str | None, dtype: np.dtype | None, time_unit: PDDatetimeUnitOptions
1768) -> None:
1769 import dask.array
1770
1771 times_pd = pd.timedelta_range(start="0D", freq="D", periods=3, unit=time_unit) # type: ignore[call-arg,unused-ignore]
1772 times = dask.array.from_array(times_pd, chunks=1)
1773 encoded_times, encoding_units = encode_cf_timedelta(times, units, dtype)
1774
1775 assert is_duck_dask_array(encoded_times)
1776 assert encoded_times.chunks == times.chunks
1777
1778 if units is not None and dtype is not None:
1779 assert encoding_units == units
1780 assert encoded_times.dtype == dtype
1781 else:
1782 assert encoding_units == _numpy_to_netcdf_timeunit(time_unit)
1783 assert encoded_times.dtype == np.dtype("int64")
1784
1785 decoded_times = decode_cf_timedelta(
1786 encoded_times, encoding_units, time_unit=time_unit
1787 )
1788 np.testing.assert_equal(decoded_times, times)
1789 assert decoded_times.dtype == times.dtype
1790
1791
1792@pytest.mark.parametrize("use_dask", [False, pytest.param(True, marks=requires_dask)])

Callers

nothing calls this directly

Calls 6

encode_cf_timedeltaFunction · 0.90
is_duck_dask_arrayFunction · 0.90
decode_cf_timedeltaFunction · 0.90
from_arrayMethod · 0.45
dtypeMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…