Main Content

matlab.unittest.constraints.HasNaN クラス

パッケージ: matlab.unittest.constraints
スーパークラス: matlab.unittest.constraints.BooleanConstraint

NaN 値を含む配列を指定する制約

構築

HasNaN は、実際の値の配列に NaN の値があるかどうかを判別できる制約を作成します。この制約は、実際の値の配列に少なくとも 1 つの NaN 値が含まれる場合にのみ満たされます。

コピーのセマンティクス

値。値クラスがコピー操作に与える影響については、オブジェクトのコピーを参照してください。

すべて折りたたむ

対話型テスト用にテスト ケースを作成します。

import matlab.unittest.TestCase
import matlab.unittest.constraints.HasNaN

testCase = TestCase.forInteractiveUse;

NaN が制約を満たすことをテストします。

testCase.verifyThat(NaN, HasNaN)
Interactive verification passed.

配列に NaN 値が含まれることをアサートします。

testCase.assertThat([0 1 1 2 3 5 8 13], HasNaN)
Interactive assertion failed.

---------------------
Framework Diagnostic:
---------------------
HasNaN failed.
--> At least one element must be NaN.

Actual double:
         0     1     1     2     3     5     8    13
Assertion failed.

配列に NaN 値は含まれません。

配列に NaN 値が含まれることを検証します。

testCase.verifyThat([-Inf 5 NaN], HasNaN)
Interactive verification passed.

複素数が制約を満たすことをアサートします。

testCase.assertThat(42+NaN*1i, HasNaN)
Interactive assertion passed.

配列に NaN 値が含まれないことを検証します。

testCase.verifyThat([Inf -7+Inf*1i], ~HasNaN)
Interactive verification passed.

HasNaN 制約を打ち消しても値が有限であるとは限らず、確認できるのは NaN 値が含まれないということだけです。