numpy.testing.assert_array_equal
2つの配列が等しいことを表明する必要があります。
しかし、numpy.testing.assert_array_not_equal
を実行する、つまり2つの配列が等しくないことを確認するための最良の方法は何でしょうか。
特に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)
NumPyテストフレームワークに直接組み込まれているものはないと思いますが、次のものを使用できます。
np.any(np.not_equal(a1,a2))
組み込みのユニットテストフレームワークでtrueをアサートするか、NumPyでassert_equal
からTrue
として確認します。
np.testing.assert_equal(np.any(np.not_equal(a,a)), True)
なぜこれが投稿されていないのかわからない、質問を正しく理解していなかったのかもしれませんが、どうですか?
assert not np.array_equal(array1 , array2)
Numpyのテストモジュールだけに保持したい理由はありますか?