MCPcopy
hub / github.com/pydata/xarray / test_where

Method test_where

xarray/tests/test_dataset.py:5968–6010  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

5966 assert func(ds).a.attrs == ds.a.attrs
5967
5968 def test_where(self) -> None:
5969 ds = Dataset({"a": ("x", range(5))})
5970 expected1 = Dataset({"a": ("x", [np.nan, np.nan, 2, 3, 4])})
5971 actual1 = ds.where(ds > 1)
5972 assert_identical(expected1, actual1)
5973
5974 actual2 = ds.where(ds.a > 1)
5975 assert_identical(expected1, actual2)
5976
5977 actual3 = ds.where(ds.a.values > 1)
5978 assert_identical(expected1, actual3)
5979
5980 actual4 = ds.where(True)
5981 assert_identical(ds, actual4)
5982
5983 expected5 = ds.copy(deep=True)
5984 expected5["a"].values = np.array([np.nan] * 5)
5985 actual5 = ds.where(False)
5986 assert_identical(expected5, actual5)
5987
5988 # 2d
5989 ds = Dataset({"a": (("x", "y"), [[0, 1], [2, 3]])})
5990 expected6 = Dataset({"a": (("x", "y"), [[np.nan, 1], [2, 3]])})
5991 actual6 = ds.where(ds > 0)
5992 assert_identical(expected6, actual6)
5993
5994 # attrs
5995 da = DataArray(range(5), name="a", attrs={"attr": "da"})
5996 actual7 = da.where(da.values > 1)
5997 assert actual7.name == "a"
5998 assert actual7.attrs == da.attrs
5999
6000 ds = Dataset({"a": da}, attrs={"attr": "ds"})
6001 actual8 = ds.where(ds > 0)
6002 assert actual8.attrs == ds.attrs
6003 assert actual8.a.name == "a"
6004 assert actual8.a.attrs == ds.a.attrs
6005
6006 # lambda
6007 ds = Dataset({"a": ("x", range(5))})
6008 expected9 = Dataset({"a": ("x", [np.nan, np.nan, 2, 3, 4])})
6009 actual9 = ds.where(lambda x: x > 1)
6010 assert_identical(expected9, actual9)
6011
6012 def test_where_other(self) -> None:
6013 ds = Dataset({"a": ("x", range(5))}, {"x": range(5)})

Callers

nothing calls this directly

Calls 5

copyMethod · 0.95
DatasetClass · 0.90
assert_identicalFunction · 0.90
DataArrayClass · 0.90
whereMethod · 0.45

Tested by

no test coverage detected