MCPcopy Index your code
hub / github.com/pydata/xarray / test__mapping_repr

Function test__mapping_repr

xarray/tests/test_formatting.py:865–925  ·  view source on GitHub ↗
(display_max_rows, n_vars, n_attr)

Source from the content-addressed store, hash-verified

863 [(50, 40, 30), (35, 40, 30), (11, 40, 30), (1, 40, 30)],
864)
865def test__mapping_repr(display_max_rows, n_vars, n_attr) -> None:
866 long_name = "long_name"
867 a = np.char.add(long_name, np.arange(0, n_vars).astype(str))
868 b = np.char.add("attr_", np.arange(0, n_attr).astype(str))
869 c = np.char.add("coord", np.arange(0, n_vars).astype(str))
870 attrs = dict.fromkeys(b, 2)
871 coords = {_c: np.array([0, 1], dtype=np.uint64) for _c in c}
872 data_vars = dict()
873 for v, _c in zip(a, coords.items(), strict=True):
874 data_vars[v] = xr.DataArray(
875 name=v,
876 data=np.array([3, 4], dtype=np.uint64),
877 dims=[_c[0]],
878 coords=dict([_c]),
879 )
880
881 ds = xr.Dataset(data_vars)
882 ds.attrs = attrs
883
884 with xr.set_options(display_max_rows=display_max_rows):
885 # Parse the data_vars print and show only data_vars rows:
886 summary = formatting.dataset_repr(ds).split("\n")
887 summary = [v for v in summary if long_name in v]
888 # The length should be less than or equal to display_max_rows:
889 len_summary = len(summary)
890 data_vars_print_size = min(display_max_rows, len_summary)
891 assert len_summary == data_vars_print_size
892
893 summary = formatting.data_vars_repr(ds.data_vars).split("\n")
894 summary = [v for v in summary if long_name in v]
895 # The length should be equal to the number of data variables
896 len_summary = len(summary)
897 assert len_summary == n_vars
898
899 summary = formatting.coords_repr(ds.coords).split("\n")
900 summary = [v for v in summary if "coord" in v]
901 # The length should be equal to the number of data variables
902 len_summary = len(summary)
903 assert len_summary == n_vars
904
905 with xr.set_options(
906 display_max_rows=display_max_rows,
907 display_expand_coords=False,
908 display_expand_data_vars=False,
909 display_expand_attrs=False,
910 ):
911 actual = formatting.dataset_repr(ds)
912 col_width = formatting._calculate_col_width(ds.variables)
913 dims_start = formatting.pretty_print("Dimensions:", col_width)
914 dims_values = formatting.dim_summary_limited(
915 ds.sizes, col_width=col_width + 1, max_rows=display_max_rows
916 )
917 expected_size = "1kB"
918 expected = f"""\
919<xarray.Dataset> Size: {expected_size}
920{dims_start}({dims_values})
921Coordinates: ({n_vars})
922Data variables: ({n_vars})

Callers

nothing calls this directly

Calls 5

arangeMethod · 0.80
itemsMethod · 0.80
splitMethod · 0.80
addMethod · 0.45
astypeMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…