在numpy.testing
中,有assert_array_less
和assert_array_equal
,但没有assert_array_less_equal
功能,甚至没有assert_array_greater
。我有两个问题:
assert_array_less
不是?def assert_array_greater(aa, bb):
assert_array_compare(np.greater, aa, bb)
这样安全吗?即有assert_array_compare
隐藏在numpy.testing.util
中而不是住在numpy.testing
中的原因?
原谅我的偏执狂;这些功能不存在似乎很奇怪,在某种程度上我担心我不应该解决这个问题。
答案 0 :(得分:3)
np.testing
是一个模块,用于收集各种numpy
单元测试文件使用的测试和工具。所以它的设计更多是供内部使用,而不是最终用户使用。所以简单的答案就是不需要那些额外的测试。
但是查看其中一个函数的源代码:
def assert_array_less(x, y, err_msg='', verbose=True):
assert_array_compare(operator.__lt__, x, y, err_msg=err_msg,
verbose=verbose,
header='Arrays are not less-ordered',
equal_inf=False)
使用其他operator
方法之一编写变体似乎很容易。
np.testing
的“根”是numpy/testing/__init__.py
,这是一个短文件。看起来它的主要任务是from .utils import *
。这是典型的子包装组织。 __init__
收集必要的导入,但通常没有自己的重要代码。