Skip to content

Commit 4038a1c

Browse files
sinhrksjreback
authored andcommitted
TST: Make sparse test more strict
closes #12789
1 parent 05b2189 commit 4038a1c

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

pandas/util/testing.py

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1203,31 +1203,52 @@ def assert_sp_array_equal(left, right):
12031203
assertIsInstance(right, pd.SparseArray, '[SparseArray]')
12041204

12051205
assert_almost_equal(left.sp_values, right.sp_values)
1206+
1207+
# SparseIndex comparison
1208+
assertIsInstance(left.sp_index, pd._sparse.SparseIndex, '[SparseIndex]')
1209+
assertIsInstance(right.sp_index, pd._sparse.SparseIndex, '[SparseIndex]')
12061210
assert (left.sp_index.equals(right.sp_index))
1211+
12071212
if np.isnan(left.fill_value):
12081213
assert (np.isnan(right.fill_value))
12091214
else:
12101215
assert (left.fill_value == right.fill_value)
12111216

1217+
assert_attr_equal('dtype', left, right)
1218+
assert_numpy_array_equal(left.values, right.values)
1219+
12121220

1213-
def assert_sp_series_equal(left, right, exact_indices=True, check_names=True):
1221+
def assert_sp_series_equal(left, right, exact_indices=True,
1222+
check_names=True, obj='SparseSeries'):
12141223
assertIsInstance(left, pd.SparseSeries, '[SparseSeries]')
12151224
assertIsInstance(right, pd.SparseSeries, '[SparseSeries]')
12161225

1217-
assert (left.index.equals(right.index))
1226+
assert_index_equal(left.index, right.index,
1227+
obj='{0}.index'.format(obj))
1228+
12181229
assert_sp_array_equal(left.block.values, right.block.values)
1230+
12191231
if check_names:
12201232
assert_attr_equal('name', left, right)
1233+
assert_attr_equal('dtype', left, right)
1234+
1235+
assert_numpy_array_equal(left.values, right.values)
12211236

12221237

1223-
def assert_sp_frame_equal(left, right, exact_indices=True):
1238+
def assert_sp_frame_equal(left, right, exact_indices=True,
1239+
obj='SparseDataFrame'):
12241240
"""
12251241
exact: Series SparseIndex objects must be exactly the same, otherwise just
12261242
compare dense representations
12271243
"""
12281244
assertIsInstance(left, pd.SparseDataFrame, '[SparseDataFrame]')
12291245
assertIsInstance(right, pd.SparseDataFrame, '[SparseDataFrame]')
12301246

1247+
assert_index_equal(left.index, right.index,
1248+
obj='{0}.index'.format(obj))
1249+
assert_index_equal(left.columns, right.columns,
1250+
obj='{0}.columns'.format(obj))
1251+
12311252
for col, series in compat.iteritems(left):
12321253
assert (col in right)
12331254
# trade-off?

0 commit comments

Comments
 (0)