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

Method test_coordinates_encoding

xarray/tests/test_backends.py:1377–1410  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1375 assert_identical(actual, original["variable"])
1376
1377 def test_coordinates_encoding(self) -> None:
1378 def equals_latlon(obj):
1379 return obj in {"lat lon", "lon lat"}
1380
1381 original = Dataset(
1382 {"temp": ("x", [0, 1]), "precip": ("x", [0, -1])},
1383 {"lat": ("x", [2, 3]), "lon": ("x", [4, 5])},
1384 )
1385 with self.roundtrip(original) as actual:
1386 assert_identical(actual, original)
1387 with self.roundtrip(original, open_kwargs=dict(decode_coords=False)) as ds:
1388 assert equals_latlon(ds["temp"].attrs["coordinates"])
1389 assert equals_latlon(ds["precip"].attrs["coordinates"])
1390 assert "coordinates" not in ds.attrs
1391 assert "coordinates" not in ds["lat"].attrs
1392 assert "coordinates" not in ds["lon"].attrs
1393
1394 modified = original.drop_vars(["temp", "precip"])
1395 with self.roundtrip(modified) as actual:
1396 assert_identical(actual, modified)
1397 with self.roundtrip(modified, open_kwargs=dict(decode_coords=False)) as ds:
1398 assert equals_latlon(ds.attrs["coordinates"])
1399 assert "coordinates" not in ds["lat"].attrs
1400 assert "coordinates" not in ds["lon"].attrs
1401
1402 original["temp"].encoding["coordinates"] = "lat"
1403 with self.roundtrip(original) as actual:
1404 assert_identical(actual, original)
1405 original["precip"].encoding["coordinates"] = "lat"
1406 with self.roundtrip(original, open_kwargs=dict(decode_coords=True)) as ds:
1407 assert "lon" not in ds["temp"].encoding["coordinates"]
1408 assert "lon" not in ds["precip"].encoding["coordinates"]
1409 assert "coordinates" not in ds["lat"].encoding
1410 assert "coordinates" not in ds["lon"].encoding
1411
1412 def test_roundtrip_endian(self) -> None:
1413 skip_if_zarr_format_3("zarr v3 has not implemented endian support yet")

Callers

nothing calls this directly

Calls 4

drop_varsMethod · 0.95
DatasetClass · 0.90
assert_identicalFunction · 0.90
roundtripMethod · 0.45

Tested by

no test coverage detected