Skip to content

Commit 6510bac

Browse files
committed
tests for _index_indexer_1d
1 parent 3f0e9fd commit 6510bac

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

xarray/tests/test_indexing.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,33 @@ def test_slice_slice_by_array(self, old_slice, array, size):
321321
expected = np.arange(size)[old_slice][array]
322322
assert_array_equal(actual, expected)
323323

324+
@pytest.mark.parametrize(
325+
["old_indexer", "indexer", "size", "expected"],
326+
(
327+
pytest.param(
328+
slice(None), slice(None, 3), 5, slice(0, 3, 1), id="full_slice-slice"
329+
),
330+
pytest.param(
331+
slice(2, 12, 3), slice(1, 3), 16, slice(5, 11, 3), id="slice_step-slice"
332+
),
333+
pytest.param(
334+
slice(None), np.arange(2, 4), 5, np.arange(2, 4), id="full_slice-range"
335+
),
336+
pytest.param(
337+
np.arange(5), slice(1, 3), 7, np.arange(1, 3), id="range-slice"
338+
),
339+
pytest.param(slice(None), 3, 5, 3, id="full_slice-int"),
340+
pytest.param(slice(None), -2, 6, 4, id="full_slice-negative_int"),
341+
),
342+
)
343+
def test_index_indexer_1d(self, old_indexer, indexer, size, expected):
344+
actual = indexing._index_indexer_1d(old_indexer, indexer, size)
345+
346+
if isinstance(expected, np.ndarray):
347+
np.testing.assert_equal(actual, expected)
348+
else:
349+
assert actual == expected
350+
324351
def test_lazily_indexed_array(self) -> None:
325352
original = np.random.rand(10, 20, 30)
326353
x = indexing.NumpyIndexingAdapter(original)

0 commit comments

Comments
 (0)