2424@requires_scipy
2525@requires_h5netcdf
2626def test_get_default_netcdf_write_engine () -> None :
27+ assert xr .get_options ()["netcdf_engine_order" ] == ("netcdf4" , "h5netcdf" , "scipy" )
28+
2729 engine = get_default_netcdf_write_engine ("" , format = None )
28- assert engine == "h5netcdf "
30+ assert engine == "netcdf4 "
2931
3032 engine = get_default_netcdf_write_engine ("" , format = "NETCDF4" )
31- assert engine == "h5netcdf "
33+ assert engine == "netcdf4 "
3234
3335 engine = get_default_netcdf_write_engine ("" , format = "NETCDF4_CLASSIC" )
3436 assert engine == "netcdf4"
3537
36- engine = get_default_netcdf_write_engine (io .BytesIO (), format = "NETCDF4" )
38+ engine = get_default_netcdf_write_engine ("" , format = "NETCDF3_CLASSIC" )
39+ assert engine == "netcdf4"
40+
41+ engine = get_default_netcdf_write_engine (io .BytesIO (), format = None )
3742 assert engine == "h5netcdf"
3843
39- engine = get_default_netcdf_write_engine ("" , format = "NETCDF3_CLASSIC " )
40- assert engine == "scipy "
44+ engine = get_default_netcdf_write_engine (io . BytesIO () , format = "NETCDF4 " )
45+ assert engine == "h5netcdf "
4146
4247 engine = get_default_netcdf_write_engine (io .BytesIO (), format = "NETCDF3_CLASSIC" )
4348 assert engine == "scipy"
@@ -46,11 +51,21 @@ def test_get_default_netcdf_write_engine() -> None:
4651 assert engine == "netcdf4"
4752
4853 with xr .set_options (netcdf_engine_order = ["netcdf4" , "scipy" , "h5netcdf" ]):
54+ engine = get_default_netcdf_write_engine (io .BytesIO (), format = None )
55+ assert engine == "scipy"
56+
57+ engine = get_default_netcdf_write_engine (io .BytesIO (), format = "NETCDF4" )
58+ assert engine == "h5netcdf"
59+
60+ engine = get_default_netcdf_write_engine (io .BytesIO (), format = "NETCDF3_CLASSIC" )
61+ assert engine == "scipy"
62+
63+ with xr .set_options (netcdf_engine_order = ["h5netcdf" , "scipy" , "netcdf4" ]):
4964 engine = get_default_netcdf_write_engine ("" , format = None )
50- assert engine == "netcdf4 "
65+ assert engine == "h5netcdf "
5166
5267 engine = get_default_netcdf_write_engine ("" , format = "NETCDF4" )
53- assert engine == "netcdf4 "
68+ assert engine == "h5netcdf "
5469
5570 engine = get_default_netcdf_write_engine ("" , format = "NETCDF4_CLASSIC" )
5671 assert engine == "netcdf4"
@@ -59,7 +74,7 @@ def test_get_default_netcdf_write_engine() -> None:
5974 assert engine == "h5netcdf"
6075
6176 engine = get_default_netcdf_write_engine ("" , format = "NETCDF3_CLASSIC" )
62- assert engine == "netcdf4 "
77+ assert engine == "scipy "
6378
6479 engine = get_default_netcdf_write_engine (io .BytesIO (), format = "NETCDF3_CLASSIC" )
6580 assert engine == "scipy"
@@ -80,8 +95,8 @@ def test_default_engine_h5netcdf(monkeypatch):
8095 ValueError ,
8196 match = re .escape (
8297 "cannot write NetCDF files with format='NETCDF3_CLASSIC' because "
83- "none of the suitable backend libraries (scipy, netCDF4 ) are installed"
84- ),
98+ "none of the suitable backend libraries (SUITABLE_BACKENDS ) are installed"
99+ ). replace ( "SUITABLE_BACKENDS" , r"(scipy, netCDF4)|(netCDF4, scipy)" ) ,
85100 ):
86101 get_default_netcdf_write_engine ("" , format = "NETCDF3_CLASSIC" )
87102
0 commit comments