Skip to content

Commit 11dff59

Browse files
authored
TST: validate_indices (#33221)
1 parent e84c3f9 commit 11dff59

File tree

2 files changed

+24
-26
lines changed

2 files changed

+24
-26
lines changed

pandas/tests/indexing/test_indexers.py

+24-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# Tests aimed at pandas.core.indexers
22
import numpy as np
3+
import pytest
34

4-
from pandas.core.indexers import is_scalar_indexer, length_of_indexer
5+
from pandas.core.indexers import is_scalar_indexer, length_of_indexer, validate_indices
56

67

78
def test_length_of_indexer():
@@ -26,3 +27,25 @@ def test_is_scalar_indexer():
2627
assert not is_scalar_indexer(indexer, 2)
2728

2829
assert not is_scalar_indexer(slice(None), 1)
30+
31+
32+
class TestValidateIndices:
33+
def test_validate_indices_ok(self):
34+
indices = np.asarray([0, 1])
35+
validate_indices(indices, 2)
36+
validate_indices(indices[:0], 0)
37+
validate_indices(np.array([-1, -1]), 0)
38+
39+
def test_validate_indices_low(self):
40+
indices = np.asarray([0, -2])
41+
with pytest.raises(ValueError, match="'indices' contains"):
42+
validate_indices(indices, 2)
43+
44+
def test_validate_indices_high(self):
45+
indices = np.asarray([0, 1, 2])
46+
with pytest.raises(IndexError, match="indices are out"):
47+
validate_indices(indices, 2)
48+
49+
def test_validate_indices_empty(self):
50+
with pytest.raises(IndexError, match="indices are out"):
51+
validate_indices(np.array([0, 1]), 0)

pandas/tests/indexing/test_indexing.py

-25
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import pandas as pd
1313
from pandas import DataFrame, Index, NaT, Series
1414
import pandas._testing as tm
15-
from pandas.core.indexers import validate_indices
1615
from pandas.core.indexing import _maybe_numeric_slice, _non_reducing_slice
1716
from pandas.tests.indexing.common import _mklbl
1817

@@ -988,30 +987,6 @@ def test_none_coercion_mixed_dtypes(self):
988987
tm.assert_frame_equal(start_dataframe, exp)
989988

990989

991-
def test_validate_indices_ok():
992-
indices = np.asarray([0, 1])
993-
validate_indices(indices, 2)
994-
validate_indices(indices[:0], 0)
995-
validate_indices(np.array([-1, -1]), 0)
996-
997-
998-
def test_validate_indices_low():
999-
indices = np.asarray([0, -2])
1000-
with pytest.raises(ValueError, match="'indices' contains"):
1001-
validate_indices(indices, 2)
1002-
1003-
1004-
def test_validate_indices_high():
1005-
indices = np.asarray([0, 1, 2])
1006-
with pytest.raises(IndexError, match="indices are out"):
1007-
validate_indices(indices, 2)
1008-
1009-
1010-
def test_validate_indices_empty():
1011-
with pytest.raises(IndexError, match="indices are out"):
1012-
validate_indices(np.array([0, 1]), 0)
1013-
1014-
1015990
def test_extension_array_cross_section():
1016991
# A cross-section of a homogeneous EA should be an EA
1017992
df = pd.DataFrame(

0 commit comments

Comments
 (0)