Skip to content

CLN: Exception and BaseException in test_nanops #28544

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 2 commits into from
Sep 20, 2019
Merged
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
129 changes: 45 additions & 84 deletions pandas/tests/test_nanops.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,25 +165,17 @@ def check_fun_data(
else:
targ = targfunc(targartempval, axis=axis, **kwargs)

try:
res = testfunc(testarval, axis=axis, skipna=skipna, **kwargs)
res = testfunc(testarval, axis=axis, skipna=skipna, **kwargs)
self.check_results(targ, res, axis, check_dtype=check_dtype)
if skipna:
res = testfunc(testarval, axis=axis, **kwargs)
self.check_results(targ, res, axis, check_dtype=check_dtype)
if axis is None:
res = testfunc(testarval, skipna=skipna, **kwargs)
self.check_results(targ, res, axis, check_dtype=check_dtype)
if skipna and axis is None:
res = testfunc(testarval, **kwargs)
self.check_results(targ, res, axis, check_dtype=check_dtype)
if skipna:
res = testfunc(testarval, axis=axis, **kwargs)
self.check_results(targ, res, axis, check_dtype=check_dtype)
if axis is None:
res = testfunc(testarval, skipna=skipna, **kwargs)
self.check_results(targ, res, axis, check_dtype=check_dtype)
if skipna and axis is None:
res = testfunc(testarval, **kwargs)
self.check_results(targ, res, axis, check_dtype=check_dtype)
except BaseException as exc:
exc.args += (
"axis: {axis} of {of}".format(axis=axis, of=testarval.ndim - 1),
"skipna: {skipna}".format(skipna=skipna),
"kwargs: {kwargs}".format(kwargs=kwargs),
)
raise

if testarval.ndim <= 1:
return
Expand Down Expand Up @@ -222,23 +214,15 @@ def check_fun(
testarval = getattr(self, testar)
targarval = getattr(self, targar)
targarnanval = getattr(self, targarnan)
try:
self.check_fun_data(
testfunc,
targfunc,
testarval,
targarval,
targarnanval,
empty_targfunc=empty_targfunc,
**kwargs
)
except BaseException as exc:
exc.args += (
"testar: {testar}".format(testar=testar),
"targar: {targar}".format(targar=targar),
"targarnan: {targarnan}".format(targarnan=targarnan),
)
raise
self.check_fun_data(
testfunc,
targfunc,
testarval,
targarval,
targarnanval,
empty_targfunc=empty_targfunc,
**kwargs
)

def check_funs(
self,
Expand Down Expand Up @@ -697,23 +681,19 @@ def check_nancomp(self, checkfun, targ0):
arr_nan_float1 = self.arr_nan_float1

while targ0.ndim:
try:
res0 = checkfun(arr_float, arr_float1)
tm.assert_almost_equal(targ0, res0)
res0 = checkfun(arr_float, arr_float1)
tm.assert_almost_equal(targ0, res0)

if targ0.ndim > 1:
targ1 = np.vstack([targ0, arr_nan])
else:
targ1 = np.hstack([targ0, arr_nan])
res1 = checkfun(arr_float_nan, arr_float1_nan)
tm.assert_numpy_array_equal(targ1, res1, check_dtype=False)

targ2 = arr_nan_nan
res2 = checkfun(arr_float_nan, arr_nan_float1)
tm.assert_numpy_array_equal(targ2, res2, check_dtype=False)
except Exception as exc:
exc.args += ("ndim: {arr_float.ndim}".format(arr_float=arr_float),)
raise
if targ0.ndim > 1:
targ1 = np.vstack([targ0, arr_nan])
else:
targ1 = np.hstack([targ0, arr_nan])
res1 = checkfun(arr_float_nan, arr_float1_nan)
tm.assert_numpy_array_equal(targ1, res1, check_dtype=False)

targ2 = arr_nan_nan
res2 = checkfun(arr_float_nan, arr_nan_float1)
tm.assert_numpy_array_equal(targ2, res2, check_dtype=False)

try:
arr_float = np.take(arr_float, 0, axis=-1)
Expand Down Expand Up @@ -753,15 +733,12 @@ def test_nanne(self):

def check_bool(self, func, value, correct, *args, **kwargs):
while getattr(value, "ndim", True):
try:
res0 = func(value, *args, **kwargs)
if correct:
assert res0
else:
assert not res0
except BaseException as exc:
exc.args += ("dim: {}".format(getattr(value, "ndim", value)),)
raise
res0 = func(value, *args, **kwargs)
if correct:
assert res0
else:
assert not res0

if not hasattr(value, "ndim"):
break
try:
Expand Down Expand Up @@ -796,21 +773,13 @@ def test__has_infs(self):

for arr, correct in pairs:
val = getattr(self, arr)
try:
self.check_bool(nanops._has_infs, val, correct)
except BaseException as exc:
exc.args += (arr,)
raise
self.check_bool(nanops._has_infs, val, correct)

for arr, correct in pairs_float:
val = getattr(self, arr)
try:
self.check_bool(nanops._has_infs, val, correct)
self.check_bool(nanops._has_infs, val.astype("f4"), correct)
self.check_bool(nanops._has_infs, val.astype("f2"), correct)
except BaseException as exc:
exc.args += (arr,)
raise
self.check_bool(nanops._has_infs, val, correct)
self.check_bool(nanops._has_infs, val.astype("f4"), correct)
self.check_bool(nanops._has_infs, val.astype("f2"), correct)

def test__isfinite(self):
pairs = [
Expand Down Expand Up @@ -844,21 +813,13 @@ def test__isfinite(self):

for arr, correct in pairs:
val = getattr(self, arr)
try:
self.check_bool(func1, val, correct)
except BaseException as exc:
exc.args += (arr,)
raise
self.check_bool(func1, val, correct)

for arr, correct in pairs_float:
val = getattr(self, arr)
try:
self.check_bool(func1, val, correct)
self.check_bool(func1, val.astype("f4"), correct)
self.check_bool(func1, val.astype("f2"), correct)
except BaseException as exc:
exc.args += (arr,)
raise
self.check_bool(func1, val, correct)
self.check_bool(func1, val.astype("f4"), correct)
self.check_bool(func1, val.astype("f2"), correct)

def test__bn_ok_dtype(self):
assert nanops._bn_ok_dtype(self.arr_float.dtype, "test")
Expand Down