40
40
from qcodes .dataset .exporters .export_to_xarray import _calculate_index_shape
41
41
from qcodes .dataset .linked_datasets .links import links_to_str
42
42
from qcodes .parameters import ManualParameter , Parameter
43
+ from qcodes .utils .deprecate import QCoDeSDeprecationWarning
43
44
44
45
if TYPE_CHECKING :
45
46
from collections .abc import Hashable
@@ -868,7 +869,17 @@ def test_export_to_xarray_dataset_empty_ds(mock_empty_dataset: DataSet) -> None:
868
869
869
870
870
871
def test_export_to_xarray_dataarray_empty_ds (mock_empty_dataset : DataSet ) -> None :
871
- dad = mock_empty_dataset .to_xarray_dataarray_dict ()
872
+ with pytest .warns (QCoDeSDeprecationWarning , match = "to_xarray_dataarray_dict" ):
873
+ dad = mock_empty_dataset .to_xarray_dataarray_dict () # pyright: ignore[reportDeprecated]
874
+ assert len (dad ) == 2
875
+ assert len (dad ["y" ].coords ) == 1
876
+ assert "x" in dad ["y" ].coords
877
+ assert len (dad ["z" ].coords ) == 1
878
+ assert "x" in dad ["z" ].coords
879
+
880
+
881
+ def test_export_to_xarray_dataset_dict_empty_ds (mock_empty_dataset : DataSet ) -> None :
882
+ dad = mock_empty_dataset .to_xarray_dataset_dict ()
872
883
assert len (dad ) == 2
873
884
assert len (dad ["y" ].coords ) == 1
874
885
assert "x" in dad ["y" ].coords
@@ -910,10 +921,20 @@ def test_export_to_xarray_extra_metadata(mock_dataset: DataSet) -> None:
910
921
assert "snapshot" not in ds [array_name ].attrs .keys ()
911
922
912
923
924
+ def test_export_to_xarray_da_dict_extra_metadata (mock_dataset : DataSet ) -> None :
925
+ mock_dataset .add_metadata ("mytag" , "somestring" )
926
+ mock_dataset .add_metadata ("myothertag" , 1 )
927
+ with pytest .warns (QCoDeSDeprecationWarning , match = "to_xarray_dataarray_dict" ):
928
+ da_dict = mock_dataset .to_xarray_dataarray_dict () # pyright: ignore[reportDeprecated]
929
+
930
+ for datarray in da_dict .values ():
931
+ _assert_xarray_metadata_is_as_expected (datarray , mock_dataset )
932
+
933
+
913
934
def test_export_to_xarray_ds_dict_extra_metadata (mock_dataset : DataSet ) -> None :
914
935
mock_dataset .add_metadata ("mytag" , "somestring" )
915
936
mock_dataset .add_metadata ("myothertag" , 1 )
916
- da_dict = mock_dataset .to_xarray_dataarray_dict ()
937
+ da_dict = mock_dataset .to_xarray_dataset_dict ()
917
938
918
939
for datarray in da_dict .values ():
919
940
_assert_xarray_metadata_is_as_expected (datarray , mock_dataset )
@@ -973,7 +994,8 @@ def test_to_xarray_ds_paramspec_metadata_is_preserved(
973
994
def test_to_xarray_da_dict_paramspec_metadata_is_preserved (
974
995
mock_dataset_label_unit : DataSet ,
975
996
) -> None :
976
- xr_das = mock_dataset_label_unit .to_xarray_dataarray_dict ()
997
+ with pytest .warns (QCoDeSDeprecationWarning , match = "to_xarray_dataarray_dict" ):
998
+ xr_das = mock_dataset_label_unit .to_xarray_dataarray_dict () # pyright: ignore[reportDeprecated]
977
999
978
1000
for outer_param_name , xr_da in xr_das .items ():
979
1001
for param_name in xr_da .dims :
@@ -987,6 +1009,23 @@ def test_to_xarray_da_dict_paramspec_metadata_is_preserved(
987
1009
assert xr_da .attrs [spec_name ] == spec_value
988
1010
989
1011
1012
+ def test_to_xarray_ds_dict_paramspec_metadata_is_preserved (
1013
+ mock_dataset_label_unit : DataSet ,
1014
+ ) -> None :
1015
+ xr_das = mock_dataset_label_unit .to_xarray_dataset_dict ()
1016
+
1017
+ for outer_param_name , xr_da in xr_das .items ():
1018
+ for param_name in xr_da .dims :
1019
+ assert xr_da .coords [param_name ].attrs == _get_expected_param_spec_attrs (
1020
+ mock_dataset_label_unit , param_name
1021
+ )
1022
+ expected_param_spec_attrs = _get_expected_param_spec_attrs (
1023
+ mock_dataset_label_unit , outer_param_name
1024
+ )
1025
+ for spec_name , spec_value in expected_param_spec_attrs .items ():
1026
+ assert xr_da [outer_param_name ].attrs [spec_name ] == spec_value
1027
+
1028
+
990
1029
def test_export_2d_dataset (
991
1030
tmp_path_factory : TempPathFactory , mock_dataset_grid : DataSet
992
1031
) -> None :
@@ -1597,7 +1636,7 @@ def test_geneate_pandas_index() -> None:
1597
1636
@given (
1598
1637
function_name = hst .sampled_from (
1599
1638
[
1600
- "to_xarray_dataarray_dict " ,
1639
+ "to_xarray_dataset_dict " ,
1601
1640
"to_pandas_dataframe" ,
1602
1641
"to_pandas_dataframe_dict" ,
1603
1642
"get_parameter_data" ,
@@ -1642,7 +1681,7 @@ def test_export_lazy_load(
1642
1681
@given (
1643
1682
function_name = hst .sampled_from (
1644
1683
[
1645
- "to_xarray_dataarray_dict " ,
1684
+ "to_xarray_dataset_dict " ,
1646
1685
"to_pandas_dataframe" ,
1647
1686
"to_pandas_dataframe_dict" ,
1648
1687
"get_parameter_data" ,
0 commit comments