Skip to content

Commit 8d8955e

Browse files
topper-123jreback
authored andcommitted
TST: stricter monotonicity tests (pandas-dev#23256)
1 parent 779aeac commit 8d8955e

File tree

7 files changed

+144
-144
lines changed

7 files changed

+144
-144
lines changed

pandas/tests/indexes/multi/test_monotonic.py

+64-64
Original file line numberDiff line numberDiff line change
@@ -9,52 +9,52 @@
99
def test_is_monotonic_increasing():
1010
i = MultiIndex.from_product([np.arange(10),
1111
np.arange(10)], names=['one', 'two'])
12-
assert i.is_monotonic
13-
assert i._is_strictly_monotonic_increasing
14-
assert Index(i.values).is_monotonic
15-
assert i._is_strictly_monotonic_increasing
12+
assert i.is_monotonic is True
13+
assert i._is_strictly_monotonic_increasing is True
14+
assert Index(i.values).is_monotonic is True
15+
assert i._is_strictly_monotonic_increasing is True
1616

1717
i = MultiIndex.from_product([np.arange(10, 0, -1),
1818
np.arange(10)], names=['one', 'two'])
19-
assert not i.is_monotonic
20-
assert not i._is_strictly_monotonic_increasing
21-
assert not Index(i.values).is_monotonic
22-
assert not Index(i.values)._is_strictly_monotonic_increasing
19+
assert i.is_monotonic is False
20+
assert i._is_strictly_monotonic_increasing is False
21+
assert Index(i.values).is_monotonic is False
22+
assert Index(i.values)._is_strictly_monotonic_increasing is False
2323

2424
i = MultiIndex.from_product([np.arange(10),
2525
np.arange(10, 0, -1)],
2626
names=['one', 'two'])
27-
assert not i.is_monotonic
28-
assert not i._is_strictly_monotonic_increasing
29-
assert not Index(i.values).is_monotonic
30-
assert not Index(i.values)._is_strictly_monotonic_increasing
27+
assert i.is_monotonic is False
28+
assert i._is_strictly_monotonic_increasing is False
29+
assert Index(i.values).is_monotonic is False
30+
assert Index(i.values)._is_strictly_monotonic_increasing is False
3131

3232
i = MultiIndex.from_product([[1.0, np.nan, 2.0], ['a', 'b', 'c']])
33-
assert not i.is_monotonic
34-
assert not i._is_strictly_monotonic_increasing
35-
assert not Index(i.values).is_monotonic
36-
assert not Index(i.values)._is_strictly_monotonic_increasing
33+
assert i.is_monotonic is False
34+
assert i._is_strictly_monotonic_increasing is False
35+
assert Index(i.values).is_monotonic is False
36+
assert Index(i.values)._is_strictly_monotonic_increasing is False
3737

3838
# string ordering
3939
i = MultiIndex(levels=[['foo', 'bar', 'baz', 'qux'],
4040
['one', 'two', 'three']],
4141
labels=[[0, 0, 0, 1, 1, 2, 2, 3, 3, 3],
4242
[0, 1, 2, 0, 1, 1, 2, 0, 1, 2]],
4343
names=['first', 'second'])
44-
assert not i.is_monotonic
45-
assert not Index(i.values).is_monotonic
46-
assert not i._is_strictly_monotonic_increasing
47-
assert not Index(i.values)._is_strictly_monotonic_increasing
44+
assert i.is_monotonic is False
45+
assert Index(i.values).is_monotonic is False
46+
assert i._is_strictly_monotonic_increasing is False
47+
assert Index(i.values)._is_strictly_monotonic_increasing is False
4848

4949
i = MultiIndex(levels=[['bar', 'baz', 'foo', 'qux'],
5050
['mom', 'next', 'zenith']],
5151
labels=[[0, 0, 0, 1, 1, 2, 2, 3, 3, 3],
5252
[0, 1, 2, 0, 1, 1, 2, 0, 1, 2]],
5353
names=['first', 'second'])
54-
assert i.is_monotonic
55-
assert Index(i.values).is_monotonic
56-
assert i._is_strictly_monotonic_increasing
57-
assert Index(i.values)._is_strictly_monotonic_increasing
54+
assert i.is_monotonic is True
55+
assert Index(i.values).is_monotonic is True
56+
assert i._is_strictly_monotonic_increasing is True
57+
assert Index(i.values)._is_strictly_monotonic_increasing is True
5858

5959
# mixed levels, hits the TypeError
6060
i = MultiIndex(
@@ -64,67 +64,67 @@ def test_is_monotonic_increasing():
6464
labels=[[0, 1, 1, 2, 2, 2, 3], [4, 2, 0, 0, 1, 3, -1]],
6565
names=['household_id', 'asset_id'])
6666

67-
assert not i.is_monotonic
68-
assert not i._is_strictly_monotonic_increasing
67+
assert i.is_monotonic is False
68+
assert i._is_strictly_monotonic_increasing is False
6969

7070
# empty
7171
i = MultiIndex.from_arrays([[], []])
72-
assert i.is_monotonic
73-
assert Index(i.values).is_monotonic
74-
assert i._is_strictly_monotonic_increasing
75-
assert Index(i.values)._is_strictly_monotonic_increasing
72+
assert i.is_monotonic is True
73+
assert Index(i.values).is_monotonic is True
74+
assert i._is_strictly_monotonic_increasing is True
75+
assert Index(i.values)._is_strictly_monotonic_increasing is True
7676

7777

7878
def test_is_monotonic_decreasing():
7979
i = MultiIndex.from_product([np.arange(9, -1, -1),
8080
np.arange(9, -1, -1)],
8181
names=['one', 'two'])
82-
assert i.is_monotonic_decreasing
83-
assert i._is_strictly_monotonic_decreasing
84-
assert Index(i.values).is_monotonic_decreasing
85-
assert i._is_strictly_monotonic_decreasing
82+
assert i.is_monotonic_decreasing is True
83+
assert i._is_strictly_monotonic_decreasing is True
84+
assert Index(i.values).is_monotonic_decreasing is True
85+
assert i._is_strictly_monotonic_decreasing is True
8686

8787
i = MultiIndex.from_product([np.arange(10),
8888
np.arange(10, 0, -1)],
8989
names=['one', 'two'])
90-
assert not i.is_monotonic_decreasing
91-
assert not i._is_strictly_monotonic_decreasing
92-
assert not Index(i.values).is_monotonic_decreasing
93-
assert not Index(i.values)._is_strictly_monotonic_decreasing
90+
assert i.is_monotonic_decreasing is False
91+
assert i._is_strictly_monotonic_decreasing is False
92+
assert Index(i.values).is_monotonic_decreasing is False
93+
assert Index(i.values)._is_strictly_monotonic_decreasing is False
9494

9595
i = MultiIndex.from_product([np.arange(10, 0, -1),
9696
np.arange(10)], names=['one', 'two'])
97-
assert not i.is_monotonic_decreasing
98-
assert not i._is_strictly_monotonic_decreasing
99-
assert not Index(i.values).is_monotonic_decreasing
100-
assert not Index(i.values)._is_strictly_monotonic_decreasing
97+
assert i.is_monotonic_decreasing is False
98+
assert i._is_strictly_monotonic_decreasing is False
99+
assert Index(i.values).is_monotonic_decreasing is False
100+
assert Index(i.values)._is_strictly_monotonic_decreasing is False
101101

102102
i = MultiIndex.from_product([[2.0, np.nan, 1.0], ['c', 'b', 'a']])
103-
assert not i.is_monotonic_decreasing
104-
assert not i._is_strictly_monotonic_decreasing
105-
assert not Index(i.values).is_monotonic_decreasing
106-
assert not Index(i.values)._is_strictly_monotonic_decreasing
103+
assert i.is_monotonic_decreasing is False
104+
assert i._is_strictly_monotonic_decreasing is False
105+
assert Index(i.values).is_monotonic_decreasing is False
106+
assert Index(i.values)._is_strictly_monotonic_decreasing is False
107107

108108
# string ordering
109109
i = MultiIndex(levels=[['qux', 'foo', 'baz', 'bar'],
110110
['three', 'two', 'one']],
111111
labels=[[0, 0, 0, 1, 1, 2, 2, 3, 3, 3],
112112
[0, 1, 2, 0, 1, 1, 2, 0, 1, 2]],
113113
names=['first', 'second'])
114-
assert not i.is_monotonic_decreasing
115-
assert not Index(i.values).is_monotonic_decreasing
116-
assert not i._is_strictly_monotonic_decreasing
117-
assert not Index(i.values)._is_strictly_monotonic_decreasing
114+
assert i.is_monotonic_decreasing is False
115+
assert Index(i.values).is_monotonic_decreasing is False
116+
assert i._is_strictly_monotonic_decreasing is False
117+
assert Index(i.values)._is_strictly_monotonic_decreasing is False
118118

119119
i = MultiIndex(levels=[['qux', 'foo', 'baz', 'bar'],
120120
['zenith', 'next', 'mom']],
121121
labels=[[0, 0, 0, 1, 1, 2, 2, 3, 3, 3],
122122
[0, 1, 2, 0, 1, 1, 2, 0, 1, 2]],
123123
names=['first', 'second'])
124-
assert i.is_monotonic_decreasing
125-
assert Index(i.values).is_monotonic_decreasing
126-
assert i._is_strictly_monotonic_decreasing
127-
assert Index(i.values)._is_strictly_monotonic_decreasing
124+
assert i.is_monotonic_decreasing is True
125+
assert Index(i.values).is_monotonic_decreasing is True
126+
assert i._is_strictly_monotonic_decreasing is True
127+
assert Index(i.values)._is_strictly_monotonic_decreasing is True
128128

129129
# mixed levels, hits the TypeError
130130
i = MultiIndex(
@@ -134,29 +134,29 @@ def test_is_monotonic_decreasing():
134134
labels=[[0, 1, 1, 2, 2, 2, 3], [4, 2, 0, 0, 1, 3, -1]],
135135
names=['household_id', 'asset_id'])
136136

137-
assert not i.is_monotonic_decreasing
138-
assert not i._is_strictly_monotonic_decreasing
137+
assert i.is_monotonic_decreasing is False
138+
assert i._is_strictly_monotonic_decreasing is False
139139

140140
# empty
141141
i = MultiIndex.from_arrays([[], []])
142-
assert i.is_monotonic_decreasing
143-
assert Index(i.values).is_monotonic_decreasing
144-
assert i._is_strictly_monotonic_decreasing
145-
assert Index(i.values)._is_strictly_monotonic_decreasing
142+
assert i.is_monotonic_decreasing is True
143+
assert Index(i.values).is_monotonic_decreasing is True
144+
assert i._is_strictly_monotonic_decreasing is True
145+
assert Index(i.values)._is_strictly_monotonic_decreasing is True
146146

147147

148148
def test_is_strictly_monotonic_increasing():
149149
idx = pd.MultiIndex(levels=[['bar', 'baz'], ['mom', 'next']],
150150
labels=[[0, 0, 1, 1], [0, 0, 0, 1]])
151-
assert idx.is_monotonic_increasing
152-
assert not idx._is_strictly_monotonic_increasing
151+
assert idx.is_monotonic_increasing is True
152+
assert idx._is_strictly_monotonic_increasing is False
153153

154154

155155
def test_is_strictly_monotonic_decreasing():
156156
idx = pd.MultiIndex(levels=[['baz', 'bar'], ['next', 'mom']],
157157
labels=[[0, 0, 1, 1], [0, 0, 0, 1]])
158-
assert idx.is_monotonic_decreasing
159-
assert not idx._is_strictly_monotonic_decreasing
158+
assert idx.is_monotonic_decreasing is True
159+
assert idx._is_strictly_monotonic_decreasing is False
160160

161161

162162
def test_searchsorted_monotonic(indices):

pandas/tests/indexes/period/test_indexing.py

+12-12
Original file line numberDiff line numberDiff line change
@@ -404,11 +404,11 @@ def test_is_monotonic_increasing(self):
404404
idx_dec1 = pd.PeriodIndex([p2, p1, p1])
405405
idx = pd.PeriodIndex([p1, p2, p0])
406406

407-
assert idx_inc0.is_monotonic_increasing
408-
assert idx_inc1.is_monotonic_increasing
409-
assert not idx_dec0.is_monotonic_increasing
410-
assert not idx_dec1.is_monotonic_increasing
411-
assert not idx.is_monotonic_increasing
407+
assert idx_inc0.is_monotonic_increasing is True
408+
assert idx_inc1.is_monotonic_increasing is True
409+
assert idx_dec0.is_monotonic_increasing is False
410+
assert idx_dec1.is_monotonic_increasing is False
411+
assert idx.is_monotonic_increasing is False
412412

413413
def test_is_monotonic_decreasing(self):
414414
# GH 17717
@@ -422,11 +422,11 @@ def test_is_monotonic_decreasing(self):
422422
idx_dec1 = pd.PeriodIndex([p2, p1, p1])
423423
idx = pd.PeriodIndex([p1, p2, p0])
424424

425-
assert not idx_inc0.is_monotonic_decreasing
426-
assert not idx_inc1.is_monotonic_decreasing
427-
assert idx_dec0.is_monotonic_decreasing
428-
assert idx_dec1.is_monotonic_decreasing
429-
assert not idx.is_monotonic_decreasing
425+
assert idx_inc0.is_monotonic_decreasing is False
426+
assert idx_inc1.is_monotonic_decreasing is False
427+
assert idx_dec0.is_monotonic_decreasing is True
428+
assert idx_dec1.is_monotonic_decreasing is True
429+
assert idx.is_monotonic_decreasing is False
430430

431431
def test_is_unique(self):
432432
# GH 17717
@@ -435,10 +435,10 @@ def test_is_unique(self):
435435
p2 = pd.Period('2017-09-03')
436436

437437
idx0 = pd.PeriodIndex([p0, p1, p2])
438-
assert idx0.is_unique
438+
assert idx0.is_unique is True
439439

440440
idx1 = pd.PeriodIndex([p1, p1, p2])
441-
assert not idx1.is_unique
441+
assert idx1.is_unique is False
442442

443443
def test_contains(self):
444444
# GH 17717

pandas/tests/indexes/test_base.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -2427,10 +2427,10 @@ def test_repeat(self):
24272427
pd.to_datetime(['2000-01-01', 'NaT', '2000-01-02']),
24282428
pd.to_timedelta(['1 day', 'NaT'])])
24292429
def test_is_monotonic_na(self, index):
2430-
assert not index.is_monotonic_increasing
2431-
assert not index.is_monotonic_decreasing
2432-
assert not index._is_strictly_monotonic_increasing
2433-
assert not index._is_strictly_monotonic_decreasing
2430+
assert index.is_monotonic_increasing is False
2431+
assert index.is_monotonic_decreasing is False
2432+
assert index._is_strictly_monotonic_increasing is False
2433+
assert index._is_strictly_monotonic_decreasing is False
24342434

24352435
def test_repr_summary(self):
24362436
with cf.option_context('display.max_seq_items', 10):

pandas/tests/indexes/test_category.py

+16-16
Original file line numberDiff line numberDiff line change
@@ -555,37 +555,37 @@ def test_reindex_empty_index(self):
555555
])
556556
def test_is_monotonic(self, data, non_lexsorted_data):
557557
c = CategoricalIndex(data)
558-
assert c.is_monotonic_increasing
559-
assert not c.is_monotonic_decreasing
558+
assert c.is_monotonic_increasing is True
559+
assert c.is_monotonic_decreasing is False
560560

561561
c = CategoricalIndex(data, ordered=True)
562-
assert c.is_monotonic_increasing
563-
assert not c.is_monotonic_decreasing
562+
assert c.is_monotonic_increasing is True
563+
assert c.is_monotonic_decreasing is False
564564

565565
c = CategoricalIndex(data, categories=reversed(data))
566-
assert not c.is_monotonic_increasing
567-
assert c.is_monotonic_decreasing
566+
assert c.is_monotonic_increasing is False
567+
assert c.is_monotonic_decreasing is True
568568

569569
c = CategoricalIndex(data, categories=reversed(data), ordered=True)
570-
assert not c.is_monotonic_increasing
571-
assert c.is_monotonic_decreasing
570+
assert c.is_monotonic_increasing is False
571+
assert c.is_monotonic_decreasing is True
572572

573573
# test when data is neither monotonic increasing nor decreasing
574574
reordered_data = [data[0], data[2], data[1]]
575575
c = CategoricalIndex(reordered_data, categories=reversed(data))
576-
assert not c.is_monotonic_increasing
577-
assert not c.is_monotonic_decreasing
576+
assert c.is_monotonic_increasing is False
577+
assert c.is_monotonic_decreasing is False
578578

579579
# non lexsorted categories
580580
categories = non_lexsorted_data
581581

582582
c = CategoricalIndex(categories[:2], categories=categories)
583-
assert c.is_monotonic_increasing
584-
assert not c.is_monotonic_decreasing
583+
assert c.is_monotonic_increasing is True
584+
assert c.is_monotonic_decreasing is False
585585

586586
c = CategoricalIndex(categories[1:3], categories=categories)
587-
assert c.is_monotonic_increasing
588-
assert not c.is_monotonic_decreasing
587+
assert c.is_monotonic_increasing is True
588+
assert c.is_monotonic_decreasing is False
589589

590590
@pytest.mark.parametrize('values, expected', [
591591
([1, 2, 3], True),
@@ -599,8 +599,8 @@ def test_is_unique(self, values, expected):
599599
def test_has_duplicates(self):
600600

601601
idx = CategoricalIndex([0, 0, 0], name='foo')
602-
assert not idx.is_unique
603-
assert idx.has_duplicates
602+
assert idx.is_unique is False
603+
assert idx.has_duplicates is True
604604

605605
def test_drop_duplicates(self):
606606

pandas/tests/indexes/test_numeric.py

+17-17
Original file line numberDiff line numberDiff line change
@@ -422,32 +422,32 @@ def test_view(self, indices):
422422
tm.assert_index_equal(i, self._holder(i_view, name='Foo'))
423423

424424
def test_is_monotonic(self):
425-
assert self.index.is_monotonic
426-
assert self.index.is_monotonic_increasing
427-
assert self.index._is_strictly_monotonic_increasing
428-
assert not self.index.is_monotonic_decreasing
429-
assert not self.index._is_strictly_monotonic_decreasing
425+
assert self.index.is_monotonic is True
426+
assert self.index.is_monotonic_increasing is True
427+
assert self.index._is_strictly_monotonic_increasing is True
428+
assert self.index.is_monotonic_decreasing is False
429+
assert self.index._is_strictly_monotonic_decreasing is False
430430

431431
index = self._holder([4, 3, 2, 1])
432-
assert not index.is_monotonic
433-
assert not index._is_strictly_monotonic_increasing
434-
assert index._is_strictly_monotonic_decreasing
432+
assert index.is_monotonic is False
433+
assert index._is_strictly_monotonic_increasing is False
434+
assert index._is_strictly_monotonic_decreasing is True
435435

436436
index = self._holder([1])
437-
assert index.is_monotonic
438-
assert index.is_monotonic_increasing
439-
assert index.is_monotonic_decreasing
440-
assert index._is_strictly_monotonic_increasing
441-
assert index._is_strictly_monotonic_decreasing
437+
assert index.is_monotonic is True
438+
assert index.is_monotonic_increasing is True
439+
assert index.is_monotonic_decreasing is True
440+
assert index._is_strictly_monotonic_increasing is True
441+
assert index._is_strictly_monotonic_decreasing is True
442442

443443
def test_is_strictly_monotonic(self):
444444
index = self._holder([1, 1, 2, 3])
445-
assert index.is_monotonic_increasing
446-
assert not index._is_strictly_monotonic_increasing
445+
assert index.is_monotonic_increasing is True
446+
assert index._is_strictly_monotonic_increasing is False
447447

448448
index = self._holder([3, 2, 1, 1])
449-
assert index.is_monotonic_decreasing
450-
assert not index._is_strictly_monotonic_decreasing
449+
assert index.is_monotonic_decreasing is True
450+
assert index._is_strictly_monotonic_decreasing is False
451451

452452
index = self._holder([1, 1])
453453
assert index.is_monotonic_increasing

0 commit comments

Comments
 (0)