Sup*_*ric 3 unit-testing numpy
在 中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)
Run Code Online (Sandbox Code Playgroud)
这安全吗?即有没有理由assert_array_compare隐藏在numpy.testing.util,而不是生活在numpy.testing?
原谅我的偏执;这些功能不存在似乎很奇怪,以至于我担心出于某种充分的理由我不应该解决这个问题。
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)
Run Code Online (Sandbox Code Playgroud)
看起来很容易编写使用其他operator方法之一的变体。
的“根”np.testing是numpy/testing/__init__.py,这是一个短文件。看起来它的主要任务是from .utils import *. 这是典型的子包组织。在__init__收集必要的进口,但往往没有自己的的显著代码。