Numpy testing assert array NOT equal

У нас numpy.testing.assert_array_equal, чтобы утверждать, что два массива равны.

Но каков наилучший способ сделать numpy.testing.assert_array_not_equal, то есть убедиться, что два массива НЕ равны?

Ответ 1

Если вы хотите использовать специально тестирование NumPy, вы можете использовать numpy.testing.assert_array_equal вместе с numpy.testing.assert_raises для противоположного результата. Например:

assert_raises(AssertionError, assert_array_equal, array_1, array_2)

Также существует numpy.testing.utils.assert_array_compare (используется numpy.testing.assert_array_equal), но я не вижу документально нигде, поэтому используйте его с осторожностью. Это проверяет, что каждый элемент отличается, поэтому я предполагаю, что это не ваш прецедент:

import operator

assert_array_compare(operator.__ne__, array_1, array_2)

Ответ 2

Я не думаю, что есть что-то, встроенное непосредственно в рамки тестирования NumPy, но вы можете просто использовать:

np.any(np.not_equal(a1,a2))

и утвердить true со встроенным фреймворком unittest или проверить с NumPy как assert_equal на True например.

np.testing.assert_equal(np.any(np.not_equal(a,a)), True)