Skip to content

TST: misplaced validate_indices tests #33221

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 2, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 24 additions & 1 deletion pandas/tests/indexing/test_indexers.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# Tests aimed at pandas.core.indexers
import numpy as np
import pytest

from pandas.core.indexers import is_scalar_indexer, length_of_indexer
from pandas.core.indexers import is_scalar_indexer, length_of_indexer, validate_indices


def test_length_of_indexer():
Expand All @@ -26,3 +27,25 @@ def test_is_scalar_indexer():
assert not is_scalar_indexer(indexer, 2)

assert not is_scalar_indexer(slice(None), 1)


class TestValidateIndices:
def test_validate_indices_ok(self):
indices = np.asarray([0, 1])
validate_indices(indices, 2)
validate_indices(indices[:0], 0)
validate_indices(np.array([-1, -1]), 0)

def test_validate_indices_low(self):
indices = np.asarray([0, -2])
with pytest.raises(ValueError, match="'indices' contains"):
validate_indices(indices, 2)

def test_validate_indices_high(self):
indices = np.asarray([0, 1, 2])
with pytest.raises(IndexError, match="indices are out"):
validate_indices(indices, 2)

def test_validate_indices_empty(self):
with pytest.raises(IndexError, match="indices are out"):
validate_indices(np.array([0, 1]), 0)
25 changes: 0 additions & 25 deletions pandas/tests/indexing/test_indexing.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import pandas as pd
from pandas import DataFrame, Index, NaT, Series
import pandas._testing as tm
from pandas.core.indexers import validate_indices
from pandas.core.indexing import _maybe_numeric_slice, _non_reducing_slice
from pandas.tests.indexing.common import _mklbl

Expand Down Expand Up @@ -1051,30 +1050,6 @@ def test_none_coercion_mixed_dtypes(self):
tm.assert_frame_equal(start_dataframe, exp)


def test_validate_indices_ok():
indices = np.asarray([0, 1])
validate_indices(indices, 2)
validate_indices(indices[:0], 0)
validate_indices(np.array([-1, -1]), 0)


def test_validate_indices_low():
indices = np.asarray([0, -2])
with pytest.raises(ValueError, match="'indices' contains"):
validate_indices(indices, 2)


def test_validate_indices_high():
indices = np.asarray([0, 1, 2])
with pytest.raises(IndexError, match="indices are out"):
validate_indices(indices, 2)


def test_validate_indices_empty():
with pytest.raises(IndexError, match="indices are out"):
validate_indices(np.array([0, 1]), 0)


def test_extension_array_cross_section():
# A cross-section of a homogeneous EA should be an EA
df = pd.DataFrame(
Expand Down