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

Method test_properties

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

Source from the content-addressed store, hash-verified

688
689 @pytest.mark.filterwarnings("ignore:return type")
690 def test_properties(self) -> None:
691 ds = create_test_data()
692
693 # dims / sizes
694 # These exact types aren't public API, but this makes sure we don't
695 # change them inadvertently:
696 assert isinstance(ds.dims, utils.Frozen)
697 # TODO change after deprecation cycle in GH #8500 is complete
698 assert isinstance(ds.dims.mapping, dict)
699 assert type(ds.dims.mapping) is dict
700 with pytest.warns(
701 FutureWarning,
702 match=r" To access a mapping from dimension names to lengths, please use `Dataset.sizes`",
703 ):
704 assert ds.dims == ds.sizes
705 assert ds.sizes == {"dim1": 8, "dim2": 9, "dim3": 10, "time": 20}
706
707 # dtypes
708 assert isinstance(ds.dtypes, utils.Frozen)
709 assert isinstance(ds.dtypes.mapping, dict)
710 assert ds.dtypes == {
711 "var1": np.dtype("float64"),
712 "var2": np.dtype("float64"),
713 "var3": np.dtype("float64"),
714 }
715
716 # data_vars
717 assert list(ds) == list(ds.data_vars)
718 assert list(ds.keys()) == list(ds.data_vars)
719 assert "aasldfjalskdfj" not in ds.variables
720 assert "dim1" in repr(ds.variables)
721 assert len(ds) == 3
722 assert bool(ds)
723
724 assert list(ds.data_vars) == ["var1", "var2", "var3"]
725 assert list(ds.data_vars.keys()) == ["var1", "var2", "var3"]
726 assert "var1" in ds.data_vars
727 assert "dim1" not in ds.data_vars
728 assert "numbers" not in ds.data_vars
729 assert len(ds.data_vars) == 3
730
731 # xindexes
732 assert set(ds.xindexes) == {"dim2", "dim3", "time"}
733 assert len(ds.xindexes) == 3
734 assert "dim2" in repr(ds.xindexes)
735 assert all(isinstance(idx, Index) for idx in ds.xindexes.values())
736
737 # indexes
738 assert set(ds.indexes) == {"dim2", "dim3", "time"}
739 assert len(ds.indexes) == 3
740 assert "dim2" in repr(ds.indexes)
741 assert all(isinstance(idx, pd.Index) for idx in ds.indexes.values())
742
743 # coords
744 assert list(ds.coords) == ["dim2", "dim3", "time", "numbers"]
745 assert "dim2" in ds.coords
746 assert "numbers" in ds.coords
747 assert "var1" not in ds.coords

Callers

nothing calls this directly

Calls 6

create_test_dataFunction · 0.90
DatasetClass · 0.90
typeFunction · 0.85
keysMethod · 0.80
dtypeMethod · 0.45
valuesMethod · 0.45

Tested by

no test coverage detected