Skip to content

Commit 8387b61

Browse files
committed
removing the named_index fixture
1 parent aea92fc commit 8387b61

10 files changed

+292
-321
lines changed

pandas/tests/indexes/multi/conftest.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,6 @@ def idx():
2222
return index
2323

2424

25-
@pytest.fixture
26-
def named_index(idx):
27-
return {'index': idx}
28-
29-
3025
@pytest.fixture
3126
def index_names():
3227
return ['first', 'second']

pandas/tests/indexes/multi/test_contains.py

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@
44
import pandas as pd
55
import pandas.util.testing as tm
66
import pytest
7-
from pandas import Int64Index, MultiIndex, PeriodIndex, UInt64Index
7+
from pandas import MultiIndex
88
from pandas.compat import PYPY
9-
from pandas.core.indexes.datetimelike import DatetimeIndexOpsMixin, iNaT
109

1110

1211
def test_contains_top_level():
@@ -94,37 +93,37 @@ def test_isin_level_kwarg():
9493
pytest.raises(KeyError, idx.isin, vals_1, level='C')
9594

9695

97-
def test_hasnans_isnans(named_index):
96+
def test_hasnans_isnans(idx):
9897
# GH 11343, added tests for hasnans / isnans
99-
for name, index in named_index.items():
100-
if isinstance(index, MultiIndex):
101-
pass
102-
else:
103-
idx = index.copy()
104-
105-
# cases in indices doesn't include NaN
106-
expected = np.array([False] * len(idx), dtype=bool)
107-
tm.assert_numpy_array_equal(idx._isnan, expected)
108-
assert not idx.hasnans
109-
110-
idx = index.copy()
111-
values = idx.values
112-
113-
if len(index) == 0:
114-
continue
115-
elif isinstance(index, DatetimeIndexOpsMixin):
116-
values[1] = iNaT
117-
elif isinstance(index, (Int64Index, UInt64Index)):
118-
continue
119-
else:
120-
values[1] = np.nan
121-
122-
if isinstance(index, PeriodIndex):
123-
idx = index.__class__(values, freq=index.freq)
124-
else:
125-
idx = index.__class__(values)
126-
127-
expected = np.array([False] * len(idx), dtype=bool)
128-
expected[1] = True
129-
tm.assert_numpy_array_equal(idx._isnan, expected)
130-
assert idx.hasnans
98+
# TODO: remove or change test not valid for MultiIndex
99+
if isinstance(idx, MultiIndex):
100+
pass
101+
# else:
102+
# _index = idx.copy()
103+
104+
# # cases in indices doesn't include NaN
105+
# expected = np.array([False] * len(_index), dtype=bool)
106+
# tm.assert_numpy_array_equal(_index._isnan, expected)
107+
# assert not _index.hasnans
108+
109+
# _index = idx.copy()
110+
# values = _index.values
111+
112+
# if len(idx) == 0:
113+
# continue
114+
# elif isinstance(idx, DatetimeIndexOpsMixin):
115+
# values[1] = iNaT
116+
# elif isinstance(idx, (Int64Index, UInt64Index)):
117+
# continue
118+
# else:
119+
# values[1] = np.nan
120+
121+
# if isinstance(idx, PeriodIndex):
122+
# _index = idx.__class__(values, freq=idx.freq)
123+
# else:
124+
# _index = idx.__class__(values)
125+
126+
# expected = np.array([False] * len(_index), dtype=bool)
127+
# expected[1] = True
128+
# tm.assert_numpy_array_equal(_index._isnan, expected)
129+
# assert _index.hasnans

pandas/tests/indexes/multi/test_copy.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,12 @@ def test_view(idx):
4040
assert_multiindex_copied(i_view, idx)
4141

4242

43-
def test_copy_name(named_index):
43+
def test_copy_name(idx):
4444
# gh-12309: Check that the "name" argument
4545
# passed at initialization is honored.
4646

47-
for name, index in compat.iteritems(named_index):
47+
# TODO: Remove or refactor MultiIndex not tested.
48+
for name, index in compat.iteritems({'idx': idx}):
4849
if isinstance(index, MultiIndex):
4950
continue
5051

@@ -69,10 +70,12 @@ def test_copy_name(named_index):
6970
assert s3.index.name == 'mario'
7071

7172

72-
def test_ensure_copied_data(named_index):
73+
def test_ensure_copied_data(idx):
7374
# Check the "copy" argument of each Index.__new__ is honoured
7475
# GH12309
75-
for name, index in compat.iteritems(named_index):
76+
# TODO: REMOVE THIS TEST. MultiIndex is tested seperately as noted below.
77+
78+
for name, index in compat.iteritems({'idx': idx}):
7679
init_kwargs = {}
7780
if isinstance(index, PeriodIndex):
7881
# Needs "freq" specification:

pandas/tests/indexes/multi/test_equivalence.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
from pandas.compat import lrange, lzip, range
1010

1111

12-
def test_equals(named_index):
13-
14-
for name, idx in compat.iteritems(named_index):
12+
def test_equals(idx):
13+
# TODO: Remove or Refactor. MultiIndex not tested.
14+
for name, idx in compat.iteritems({'idx': idx}):
1515
assert idx.equals(idx)
1616
assert idx.equals(idx.copy())
1717
assert idx.equals(idx.astype(object))
@@ -208,11 +208,12 @@ def test_is_numeric(idx):
208208
assert not idx.is_numeric()
209209

210210

211-
def test_nulls(named_index):
211+
def test_nulls(idx):
212212
# this is really a smoke test for the methods
213213
# as these are adequately tested for function elsewhere
214214

215-
for name, index in named_index.items():
215+
# TODO: Remove or Refactor. MultiIndex not Implemeted.
216+
for name, index in [('idx', idx), ]:
216217
if len(index) == 0:
217218
tm.assert_numpy_array_equal(
218219
index.isna(), np.array([], dtype=bool))

pandas/tests/indexes/multi/test_get_set.py

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -630,21 +630,20 @@ def test_get_unique_index(idx):
630630
tm.assert_index_equal(result, expected)
631631

632632

633-
def test_get_indexer_consistency(named_index):
633+
def test_get_indexer_consistency(idx):
634634
# See GH 16819
635-
for name, index in named_index.items():
636-
if isinstance(index, IntervalIndex):
637-
continue
638-
639-
if index.is_unique or isinstance(index, CategoricalIndex):
640-
indexer = index.get_indexer(index[0:2])
641-
assert isinstance(indexer, np.ndarray)
642-
assert indexer.dtype == np.intp
643-
else:
644-
e = "Reindexing only valid with uniquely valued Index objects"
645-
with tm.assert_raises_regex(InvalidIndexError, e):
646-
indexer = index.get_indexer(index[0:2])
647-
648-
indexer, _ = index.get_indexer_non_unique(index[0:2])
635+
if isinstance(idx, IntervalIndex):
636+
pass
637+
638+
if idx.is_unique or isinstance(idx, CategoricalIndex):
639+
indexer = idx.get_indexer(idx[0:2])
649640
assert isinstance(indexer, np.ndarray)
650641
assert indexer.dtype == np.intp
642+
else:
643+
e = "Reindexing only valid with uniquely valued Index objects"
644+
with tm.assert_raises_regex(InvalidIndexError, e):
645+
indexer = idx.get_indexer(idx[0:2])
646+
647+
indexer, _ = idx.get_indexer_non_unique(idx[0:2])
648+
assert isinstance(indexer, np.ndarray)
649+
assert indexer.dtype == np.intp

pandas/tests/indexes/multi/test_indexing.py

Lines changed: 21 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66
import numpy as np
77
import pandas.util.testing as tm
88
import pytest
9-
from pandas import (Index, Int64Index, MultiIndex, PeriodIndex, RangeIndex,
10-
UInt64Index, compat)
9+
from pandas import Index, Int64Index, MultiIndex, PeriodIndex, UInt64Index
1110
from pandas.compat import lrange
1211
from pandas.core.indexes.datetimelike import DatetimeIndexOpsMixin, iNaT
1312

@@ -141,47 +140,36 @@ def test_shift(idx):
141140
pytest.raises(NotImplementedError, idx.shift, 1, 2)
142141

143142

144-
def test_insert_base(named_index):
143+
def test_insert_base(idx):
145144

146-
for name, idx in compat.iteritems(named_index):
147-
result = idx[1:4]
145+
result = idx[1:4]
148146

149-
if not len(idx):
150-
continue
147+
# test 0th element
148+
assert idx[0:4].equals(result.insert(0, idx[0]))
151149

152-
# test 0th element
153-
assert idx[0:4].equals(result.insert(0, idx[0]))
154150

151+
def test_delete_base(idx):
155152

156-
def test_delete_base(named_index):
153+
expected = idx[1:]
154+
result = idx.delete(0)
155+
assert result.equals(expected)
156+
assert result.name == expected.name
157157

158-
for name, idx in compat.iteritems(named_index):
158+
expected = idx[:-1]
159+
result = idx.delete(-1)
160+
assert result.equals(expected)
161+
assert result.name == expected.name
159162

160-
if not len(idx):
161-
continue
163+
with pytest.raises((IndexError, ValueError)):
164+
# either depending on numpy version
165+
result = idx.delete(len(idx))
162166

163-
if isinstance(idx, RangeIndex):
164-
# tested in class
165-
continue
166167

167-
expected = idx[1:]
168-
result = idx.delete(0)
169-
assert result.equals(expected)
170-
assert result.name == expected.name
171-
172-
expected = idx[:-1]
173-
result = idx.delete(-1)
174-
assert result.equals(expected)
175-
assert result.name == expected.name
176-
177-
with pytest.raises((IndexError, ValueError)):
178-
# either depending on numpy version
179-
result = idx.delete(len(idx))
180-
181-
182-
def test_fillna(named_index):
168+
def test_fillna(idx):
183169
# GH 11343
184-
for name, index in named_index.items():
170+
171+
# TODO: Remove or Refactor. Not Implemented for MultiIndex
172+
for name, index in [('idx', idx), ]:
185173
if len(index) == 0:
186174
pass
187175
elif isinstance(index, MultiIndex):

pandas/tests/indexes/multi/test_integrity.py

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import pandas.util.testing as tm
88
import pytest
99
from pandas import (DataFrame, IntervalIndex, MultiIndex,
10-
RangeIndex, compat, date_range)
10+
RangeIndex, date_range)
1111
from pandas.compat import lrange, range
1212
from pandas.core.dtypes.cast import construct_1d_object_array_from_listlike
1313

@@ -378,26 +378,25 @@ def testit(ind):
378378
tm.assert_raises_regex(ValueError, "^Length", testit, indices)
379379

380380

381-
def test_memory_usage(named_index):
382-
for name, index in compat.iteritems(named_index):
383-
result = index.memory_usage()
384-
if len(index):
385-
index.get_loc(index[0])
386-
result2 = index.memory_usage()
387-
result3 = index.memory_usage(deep=True)
381+
def test_memory_usage(idx):
382+
result = idx.memory_usage()
383+
if len(idx):
384+
idx.get_loc(idx[0])
385+
result2 = idx.memory_usage()
386+
result3 = idx.memory_usage(deep=True)
388387

389-
# RangeIndex, IntervalIndex
390-
# don't have engines
391-
if not isinstance(index, (RangeIndex, IntervalIndex)):
392-
assert result2 > result
388+
# RangeIndex, IntervalIndex
389+
# don't have engines
390+
if not isinstance(idx, (RangeIndex, IntervalIndex)):
391+
assert result2 > result
393392

394-
if index.inferred_type == 'object':
395-
assert result3 > result2
393+
if idx.inferred_type == 'object':
394+
assert result3 > result2
396395

397-
else:
396+
else:
398397

399-
# we report 0 for no-length
400-
assert result == 0
398+
# we report 0 for no-length
399+
assert result == 0
401400

402401

403402
def test_nlevels(idx):

0 commit comments

Comments
 (0)