Skip to content

Commit 194dbff

Browse files
gfyoungjreback
authored andcommitted
MAINT: Remove np.array_equal calls in tests (#18047)
1 parent bb4fa65 commit 194dbff

13 files changed

+72
-69
lines changed

pandas/tests/dtypes/test_cast.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,17 @@ def test_downcast_conv(self):
3838

3939
arr = np.array([8.5, 8.6, 8.7, 8.8, 8.9999999999995])
4040
result = maybe_downcast_to_dtype(arr, 'infer')
41-
assert (np.array_equal(result, arr))
41+
tm.assert_numpy_array_equal(result, arr)
4242

4343
arr = np.array([8., 8., 8., 8., 8.9999999999995])
4444
result = maybe_downcast_to_dtype(arr, 'infer')
45-
expected = np.array([8, 8, 8, 8, 9])
46-
assert (np.array_equal(result, expected))
45+
expected = np.array([8, 8, 8, 8, 9], dtype=np.int64)
46+
tm.assert_numpy_array_equal(result, expected)
4747

4848
arr = np.array([8., 8., 8., 8., 9.0000000000005])
4949
result = maybe_downcast_to_dtype(arr, 'infer')
50-
expected = np.array([8, 8, 8, 8, 9])
51-
assert (np.array_equal(result, expected))
50+
expected = np.array([8, 8, 8, 8, 9], dtype=np.int64)
51+
tm.assert_numpy_array_equal(result, expected)
5252

5353
# GH16875 coercing of bools
5454
ser = Series([True, True, False])

pandas/tests/frame/test_constructors.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1913,10 +1913,11 @@ def test_from_records_len0_with_columns(self):
19131913
# #2633
19141914
result = DataFrame.from_records([], index='foo',
19151915
columns=['foo', 'bar'])
1916+
expected = Index(['bar'])
19161917

1917-
assert np.array_equal(result.columns, ['bar'])
19181918
assert len(result) == 0
19191919
assert result.index.name == 'foo'
1920+
tm.assert_index_equal(result.columns, expected)
19201921

19211922
def test_to_frame_with_falsey_names(self):
19221923
# GH 16114

pandas/tests/frame/test_nonunique_indexes.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,7 @@ def test_as_matrix_duplicates(self):
448448
expected = np.array([[1, 2, 'a', 'b'], [1, 2, 'a', 'b']],
449449
dtype=object)
450450

451-
assert np.array_equal(result, expected)
451+
tm.assert_numpy_array_equal(result, expected)
452452

453453
def test_set_value_by_index(self):
454454
# See gh-12344

pandas/tests/indexes/datetimes/test_date_range.py

+13-15
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,6 @@
2020
START, END = datetime(2009, 1, 1), datetime(2010, 1, 1)
2121

2222

23-
def eq_gen_range(kwargs, expected):
24-
rng = generate_range(**kwargs)
25-
assert (np.array_equal(list(rng), expected))
26-
27-
2823
class TestDateRanges(TestData):
2924

3025
def test_date_range_gen_error(self):
@@ -201,20 +196,23 @@ def test_generate_cday(self):
201196
assert rng1 == rng2
202197

203198
def test_1(self):
204-
eq_gen_range(dict(start=datetime(2009, 3, 25), periods=2),
205-
[datetime(2009, 3, 25), datetime(2009, 3, 26)])
199+
rng = list(generate_range(start=datetime(2009, 3, 25), periods=2))
200+
expected = [datetime(2009, 3, 25), datetime(2009, 3, 26)]
201+
assert rng == expected
206202

207203
def test_2(self):
208-
eq_gen_range(dict(start=datetime(2008, 1, 1),
209-
end=datetime(2008, 1, 3)),
210-
[datetime(2008, 1, 1),
211-
datetime(2008, 1, 2),
212-
datetime(2008, 1, 3)])
204+
rng = list(generate_range(start=datetime(2008, 1, 1),
205+
end=datetime(2008, 1, 3)))
206+
expected = [datetime(2008, 1, 1),
207+
datetime(2008, 1, 2),
208+
datetime(2008, 1, 3)]
209+
assert rng == expected
213210

214211
def test_3(self):
215-
eq_gen_range(dict(start=datetime(2008, 1, 5),
216-
end=datetime(2008, 1, 6)),
217-
[])
212+
rng = list(generate_range(start=datetime(2008, 1, 5),
213+
end=datetime(2008, 1, 6)))
214+
expected = []
215+
assert rng == expected
218216

219217
def test_precision_finer_than_offset(self):
220218
# GH 9907

pandas/tests/io/parser/common.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -823,7 +823,7 @@ def test_parse_integers_above_fp_precision(self):
823823
17007000002000192,
824824
17007000002000194]})
825825

826-
assert np.array_equal(result['Numbers'], expected['Numbers'])
826+
tm.assert_series_equal(result['Numbers'], expected['Numbers'])
827827

828828
def test_chunks_have_consistent_numerical_type(self):
829829
integers = [str(i) for i in range(499999)]

pandas/tests/io/parser/test_textreader.py

+16-11
Original file line numberDiff line numberDiff line change
@@ -161,9 +161,9 @@ def test_skip_bad_lines(self):
161161
error_bad_lines=False,
162162
warn_bad_lines=False)
163163
result = reader.read()
164-
expected = {0: ['a', 'd', 'g', 'l'],
165-
1: ['b', 'e', 'h', 'm'],
166-
2: ['c', 'f', 'i', 'n']}
164+
expected = {0: np.array(['a', 'd', 'g', 'l'], dtype=object),
165+
1: np.array(['b', 'e', 'h', 'm'], dtype=object),
166+
2: np.array(['c', 'f', 'i', 'n'], dtype=object)}
167167
assert_array_dicts_equal(result, expected)
168168

169169
reader = TextReader(StringIO(data), delimiter=':',
@@ -189,8 +189,10 @@ def test_header_not_enough_lines(self):
189189
assert header == expected
190190

191191
recs = reader.read()
192-
expected = {0: [1, 4], 1: [2, 5], 2: [3, 6]}
193-
assert_array_dicts_equal(expected, recs)
192+
expected = {0: np.array([1, 4], dtype=np.int64),
193+
1: np.array([2, 5], dtype=np.int64),
194+
2: np.array([3, 6], dtype=np.int64)}
195+
assert_array_dicts_equal(recs, expected)
194196

195197
# not enough rows
196198
pytest.raises(parser.ParserError, TextReader, StringIO(data),
@@ -203,14 +205,16 @@ def test_header_not_enough_lines_as_recarray(self):
203205
'1,2,3\n'
204206
'4,5,6')
205207

206-
reader = TextReader(StringIO(data), delimiter=',', header=2,
207-
as_recarray=True)
208+
reader = TextReader(StringIO(data), delimiter=',',
209+
header=2, as_recarray=True)
208210
header = reader.header
209211
expected = [['a', 'b', 'c']]
210212
assert header == expected
211213

212214
recs = reader.read()
213-
expected = {'a': [1, 4], 'b': [2, 5], 'c': [3, 6]}
215+
expected = {'a': np.array([1, 4], dtype=np.int64),
216+
'b': np.array([2, 5], dtype=np.int64),
217+
'c': np.array([3, 6], dtype=np.int64)}
214218
assert_array_dicts_equal(expected, recs)
215219

216220
# not enough rows
@@ -225,7 +229,7 @@ def test_escapechar(self):
225229
reader = TextReader(StringIO(data), delimiter=',', header=None,
226230
escapechar='\\')
227231
result = reader.read()
228-
expected = {0: ['"hello world"'] * 3}
232+
expected = {0: np.array(['"hello world"'] * 3, dtype=object)}
229233
assert_array_dicts_equal(result, expected)
230234

231235
def test_eof_has_eol(self):
@@ -360,7 +364,7 @@ def test_empty_field_eof(self):
360364

361365
result = TextReader(StringIO(data), delimiter=',').read()
362366

363-
expected = {0: np.array([1, 4]),
367+
expected = {0: np.array([1, 4], dtype=np.int64),
364368
1: np.array(['2', ''], dtype=object),
365369
2: np.array(['3', ''], dtype=object)}
366370
assert_array_dicts_equal(result, expected)
@@ -397,4 +401,5 @@ def test_empty_csv_input(self):
397401

398402
def assert_array_dicts_equal(left, right):
399403
for k, v in compat.iteritems(left):
400-
assert(np.array_equal(v, right[k]))
404+
assert tm.assert_numpy_array_equal(np.asarray(v),
405+
np.asarray(right[k]))

pandas/tests/reshape/test_concat.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -1594,7 +1594,9 @@ def test_concat_series_axis1_same_names_ignore_index(self):
15941594
s2 = Series(randn(len(dates)), index=dates, name='value')
15951595

15961596
result = concat([s1, s2], axis=1, ignore_index=True)
1597-
assert np.array_equal(result.columns, [0, 1])
1597+
expected = Index([0, 1])
1598+
1599+
tm.assert_index_equal(result.columns, expected)
15981600

15991601
def test_concat_iterables(self):
16001602
from collections import deque, Iterable

pandas/tests/series/test_missing.py

+10-6
Original file line numberDiff line numberDiff line change
@@ -636,17 +636,21 @@ def test_valid(self):
636636

637637
def test_isna(self):
638638
ser = Series([0, 5.4, 3, nan, -0.001])
639-
np.array_equal(ser.isna(),
640-
Series([False, False, False, True, False]).values)
639+
expected = Series([False, False, False, True, False])
640+
tm.assert_series_equal(ser.isna(), expected)
641+
641642
ser = Series(["hi", "", nan])
642-
np.array_equal(ser.isna(), Series([False, False, True]).values)
643+
expected = Series([False, False, True])
644+
tm.assert_series_equal(ser.isna(), expected)
643645

644646
def test_notna(self):
645647
ser = Series([0, 5.4, 3, nan, -0.001])
646-
np.array_equal(ser.notna(),
647-
Series([True, True, True, False, True]).values)
648+
expected = Series([True, True, True, False, True])
649+
tm.assert_series_equal(ser.notna(), expected)
650+
648651
ser = Series(["hi", "", nan])
649-
np.array_equal(ser.notna(), Series([True, True, False]).values)
652+
expected = Series([True, True, False])
653+
tm.assert_series_equal(ser.notna(), expected)
650654

651655
def test_pad_nan(self):
652656
x = Series([np.nan, 1., np.nan, 3., np.nan], ['z', 'a', 'b', 'c', 'd'],

pandas/tests/test_algos.py

+6-15
Original file line numberDiff line numberDiff line change
@@ -1132,19 +1132,19 @@ def test_pad_backfill_object_segfault():
11321132

11331133
result = libalgos.pad_object(old, new)
11341134
expected = np.array([-1], dtype=np.int64)
1135-
assert (np.array_equal(result, expected))
1135+
tm.assert_numpy_array_equal(result, expected)
11361136

11371137
result = libalgos.pad_object(new, old)
11381138
expected = np.array([], dtype=np.int64)
1139-
assert (np.array_equal(result, expected))
1139+
tm.assert_numpy_array_equal(result, expected)
11401140

11411141
result = libalgos.backfill_object(old, new)
11421142
expected = np.array([-1], dtype=np.int64)
1143-
assert (np.array_equal(result, expected))
1143+
tm.assert_numpy_array_equal(result, expected)
11441144

11451145
result = libalgos.backfill_object(new, old)
11461146
expected = np.array([], dtype=np.int64)
1147-
assert (np.array_equal(result, expected))
1147+
tm.assert_numpy_array_equal(result, expected)
11481148

11491149

11501150
def test_arrmap():
@@ -1235,15 +1235,6 @@ def test_is_lexsorted():
12351235

12361236
assert (not libalgos.is_lexsorted(failure))
12371237

1238-
# def test_get_group_index():
1239-
# a = np.array([0, 1, 2, 0, 2, 1, 0, 0], dtype=np.int64)
1240-
# b = np.array([1, 0, 3, 2, 0, 2, 3, 0], dtype=np.int64)
1241-
# expected = np.array([1, 4, 11, 2, 8, 6, 3, 0], dtype=np.int64)
1242-
1243-
# result = lib.get_group_index([a, b], (3, 4))
1244-
1245-
# assert(np.array_equal(result, expected))
1246-
12471238

12481239
def test_groupsort_indexer():
12491240
a = np.random.randint(0, 1000, 100).astype(np.int64)
@@ -1253,13 +1244,13 @@ def test_groupsort_indexer():
12531244

12541245
# need to use a stable sort
12551246
expected = np.argsort(a, kind='mergesort')
1256-
assert (np.array_equal(result, expected))
1247+
tm.assert_numpy_array_equal(result, expected)
12571248

12581249
# compare with lexsort
12591250
key = a * 1000 + b
12601251
result = libalgos.groupsort_indexer(key, 1000000)[0]
12611252
expected = np.lexsort((b, a))
1262-
assert (np.array_equal(result, expected))
1253+
tm.assert_numpy_array_equal(result, expected)
12631254

12641255

12651256
def test_infinity_sort():

pandas/tests/test_join.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def test_left_join_indexer_unique():
5353

5454
result = _join.left_join_indexer_unique_int64(b, a)
5555
expected = np.array([1, 1, 2, 3, 3], dtype=np.int64)
56-
assert (np.array_equal(result, expected))
56+
tm.assert_numpy_array_equal(result, expected)
5757

5858

5959
def test_left_outer_join_bug():
@@ -69,13 +69,14 @@ def test_left_outer_join_bug():
6969

7070
lidx, ridx = _join.left_outer_join(left, right, max_groups, sort=False)
7171

72-
exp_lidx = np.arange(len(left))
73-
exp_ridx = -np.ones(len(left))
72+
exp_lidx = np.arange(len(left), dtype=np.int64)
73+
exp_ridx = -np.ones(len(left), dtype=np.int64)
74+
7475
exp_ridx[left == 1] = 1
7576
exp_ridx[left == 3] = 0
7677

77-
assert (np.array_equal(lidx, exp_lidx))
78-
assert (np.array_equal(ridx, exp_ridx))
78+
tm.assert_numpy_array_equal(lidx, exp_lidx)
79+
tm.assert_numpy_array_equal(ridx, exp_ridx)
7980

8081

8182
def test_inner_join_indexer():

pandas/tests/test_lib.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ def test_get_reverse_indexer(self):
198198
indexer = np.array([-1, -1, 1, 2, 0, -1, 3, 4], dtype=np.int64)
199199
result = lib.get_reverse_indexer(indexer, 5)
200200
expected = np.array([4, 2, 3, 6, 7], dtype=np.int64)
201-
assert np.array_equal(result, expected)
201+
tm.assert_numpy_array_equal(result, expected)
202202

203203

204204
class TestNAObj(object):

pandas/tests/test_sorting.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -332,16 +332,17 @@ def testit(label_list, shape):
332332
label_list2 = decons_group_index(group_index, shape)
333333

334334
for a, b in zip(label_list, label_list2):
335-
assert (np.array_equal(a, b))
335+
tm.assert_numpy_array_equal(a, b)
336336

337337
shape = (4, 5, 6)
338-
label_list = [np.tile([0, 1, 2, 3, 0, 1, 2, 3], 100), np.tile(
339-
[0, 2, 4, 3, 0, 1, 2, 3], 100), np.tile(
340-
[5, 1, 0, 2, 3, 0, 5, 4], 100)]
338+
label_list = [np.tile([0, 1, 2, 3, 0, 1, 2, 3], 100).astype(np.int64),
339+
np.tile([0, 2, 4, 3, 0, 1, 2, 3], 100).astype(np.int64),
340+
np.tile([5, 1, 0, 2, 3, 0, 5, 4], 100).astype(np.int64)]
341341
testit(label_list, shape)
342342

343343
shape = (10000, 10000)
344-
label_list = [np.tile(np.arange(10000), 5), np.tile(np.arange(10000), 5)]
344+
label_list = [np.tile(np.arange(10000, dtype=np.int64), 5),
345+
np.tile(np.arange(10000, dtype=np.int64), 5)]
345346
testit(label_list, shape)
346347

347348

pandas/tests/tseries/test_timezones.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def test_utc_to_local_no_modify(self):
7070
rng_eastern = rng.tz_convert(self.tzstr('US/Eastern'))
7171

7272
# Values are unmodified
73-
assert np.array_equal(rng.asi8, rng_eastern.asi8)
73+
tm.assert_numpy_array_equal(rng.asi8, rng_eastern.asi8)
7474

7575
assert self.cmptz(rng_eastern.tz, self.tz('US/Eastern'))
7676

@@ -108,7 +108,7 @@ def test_localize_utc_conversion_explicit(self):
108108
rng = date_range('3/10/2012', '3/11/2012', freq='30T')
109109
converted = rng.tz_localize(self.tz('US/Eastern'))
110110
expected_naive = rng + offsets.Hour(5)
111-
assert np.array_equal(converted.asi8, expected_naive.asi8)
111+
tm.assert_numpy_array_equal(converted.asi8, expected_naive.asi8)
112112

113113
# DST ambiguity, this should fail
114114
rng = date_range('3/11/2012', '3/12/2012', freq='30T')

0 commit comments

Comments
 (0)