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

Method test_pad

xarray/tests/test_dataset.py:7546–7590  ·  view source on GitHub ↗
(self, padded_dim_name, constant_values)

Source from the content-addressed store, hash-verified

7544 ],
7545 )
7546 def test_pad(self, padded_dim_name, constant_values) -> None:
7547 ds = create_test_data(seed=1)
7548 padded = ds.pad({padded_dim_name: (1, 1)}, constant_values=constant_values)
7549
7550 # test padded dim values and size
7551 for ds_dim_name, ds_dim in ds.sizes.items():
7552 if ds_dim_name == padded_dim_name:
7553 np.testing.assert_equal(padded.sizes[ds_dim_name], ds_dim + 2)
7554 if ds_dim_name in padded.coords:
7555 assert padded[ds_dim_name][[0, -1]].isnull().all()
7556 else:
7557 np.testing.assert_equal(padded.sizes[ds_dim_name], ds_dim)
7558
7559 # check if coord "numbers" with dimension dim3 is padded correctly
7560 if padded_dim_name == "dim3":
7561 assert padded["numbers"][[0, -1]].isnull().all()
7562 # twarning: passes but dtype changes from int to float
7563 np.testing.assert_array_equal(padded["numbers"][1:-1], ds["numbers"])
7564
7565 # test if data_vars are paded with correct values
7566 for data_var_name, data_var in padded.data_vars.items():
7567 if padded_dim_name in data_var.dims:
7568 if utils.is_dict_like(constant_values):
7569 if (
7570 expected := constant_values.get(data_var_name, None)
7571 ) is not None or (
7572 expected := constant_values.get(padded_dim_name, None)
7573 ) is not None:
7574 self._test_data_var_interior(
7575 ds[data_var_name], data_var, padded_dim_name, expected
7576 )
7577 else:
7578 self._test_data_var_interior(
7579 ds[data_var_name], data_var, padded_dim_name, 0
7580 )
7581 elif constant_values:
7582 self._test_data_var_interior(
7583 ds[data_var_name], data_var, padded_dim_name, constant_values
7584 )
7585 else:
7586 self._test_data_var_interior(
7587 ds[data_var_name], data_var, padded_dim_name, np.nan
7588 )
7589 else:
7590 assert_array_equal(data_var, ds[data_var_name])
7591
7592 @pytest.mark.parametrize(
7593 ["keep_attrs", "attrs", "expected"],

Callers

nothing calls this directly

Calls 7

create_test_dataFunction · 0.90
itemsMethod · 0.80
padMethod · 0.45
allMethod · 0.45
isnullMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected