Как вы заметили, явно нестрогое неравенство не входит в число определенных тестовых случаев в numpy.testing
.Кроме того, не существует документированного способа расширения numpy.testing
с большим количеством тестовых случаев.
Глядя на источник, становится ясно, что можно выполнить собственные тестовые случаи, используя assert_array_compare
:
import operator
def assert_array_less_equal(x, y, err_msg='', verbose=True):
from numpy.testing import assert_array_compare
__tracebackhide__ = True # Hide traceback for py.test
assert_array_compare(operator.__le__, x, y, err_msg=err_msg,
verbose=verbose,
header='Arrays are not equal or less-ordered')
>>> assert_array_less_equal(1., 1.)
>>> assert_array_less_equal(1.1, 1.)
.
.
.
AssertionError:
Arrays are not equal or less-ordered
(mismatch 100.0%)
x: array(1.1)
y: array(1.)
Однако, как уже говорилось, assert_array_compare
не задокументирована, а скорее является вспомогательной функцией в numpy.testing
.Поэтому я предполагаю, что он может быть изменен и обновлен без какого-либо уведомления при обновлении numpy
.Это потенциально может молча сломать ваш код.