numpy.testing.assert_array_equal
は、2つの配列が等しいことをアサートします。numpyテストアサート配列が等しくない
しかし、numpy.testing.assert_array_not_equal
を実行する最良の方法は、つまり、2つの配列が等しくないことを確認することですか?
numpy.testing.assert_array_equal
は、2つの配列が等しいことをアサートします。numpyテストアサート配列が等しくない
しかし、numpy.testing.assert_array_not_equal
を実行する最良の方法は、つまり、2つの配列が等しくないことを確認することですか?
、その後は逆の結果のためにnumpy.testing.assert_raisesと一緒numpy.testing.assert_array_equal
を使用することができます。たとえば:
assert_raises(AssertionError, assert_array_equal, array_1, array_2)
もnumpy.testing.utils.assert_array_compare
は(それがnumpy.testing.assert_array_equal
で使用されている)があるが、私はそれがどこかに文書を参照してくださいので、注意して使用しないでください。この1は、すべての要素が異なっていることを確認しますので、私は、これはあなたのユースケースではないと思います。これは投稿されていない理由は、私が正しく質問を理解していなかったことが、何も
import operator
assert_array_compare(operator.__ne__, array_1, array_2)
最初の方法のためのきちんとしたハック。私が知る限り、すべての要素が異なるだけであれば、2番目の要素は成功します。 OPが望んでいるかどうかは分かりません。いずれにせよ+1。 –
はい、あなたは2番目のものについて正しいです。答えを編集します。 – Eswcvlad
最初のものは私のためです!ありがとう! –
私はnumpyのテストフレームワークに直接組み込まものがあるとは思いませんが、あなただけ使用できます。
np.any(np.not_equal(a1,a2))
やユニットテストフレームワークに組み込まれたりassert_equal
True
に例えばとしてnumpyのを確認すると、真の主張あなたは、具体的numpyのテストを使用したい場合は
np.testing.assert_equal(np.any(np.not_equal(a,a)), True)
テストの感覚が反転しています。 OPは、不等配列が通過することを望んでいます。 –
うわー - ちょうど反対方向にテストを反転した。見つけてくれてありがとう。 @MadPhysicist – Mark
代わりに 'TestCase'の外にいる場合は' TestCase.assertTrue(np.any(...)) '(あるいは' nose.tools.assert_true(np.any(...)) 'を使うべきでしょう)。 –
わかりません約:
assert not np.array_equal(array1 , array2)
numpyのテストモジュールでのみ使用する理由は何ですか?
どのように配列が違うのですか?彼らはすべての要素で、または少なくとも1つの点で異なる必要がありますか? –
少なくとも1つの要素が不等である必要があります。つまり、2つの配列の内容が同じでない可能性があります。 1つの要素が異なる場合、すべてがOKです。 –
それから、@ Eswcvladの答えはおそらく最もエレガントなハックです。 –