Main Content

matlab.unittest.constraints.AnyElementOf クラス

パッケージ: matlab.unittest.constraints

配列のいずれかの要素が制約を満たしているかどうかのテスト

説明

AnyElementOf クラスは、フレームワークに対して実際の値のプロキシを作成します。このプロキシにより、テスト作成者は配列の各要素に制約を適用できるようにし、配列の少なくとも 1 つの要素が制約を満たす場合にパスの結果が確実に発生するようにします。

例に示すように、このクラスは matlab.unittest 検定で使用することを意図しています。このクラスは指定された実際の値を変更しませんが、ラッパーとして機能し、制約の解析を実行します。テスト フレームワークは、要素ごとに制約を解析します。

構築

AnyElementOf(actVal) は、指定された配列 actVal の任意の要素が制約を満たすかどうかをテストするプロキシ インスタンスを作成します。少なくとも 1 つの要素が制約を個別に満たすとテストにパスします。

ヒント

  • AnyElementOf は、指定された配列の任意の要素が、関連付けられた制約を満たすかどうかをチェックします。ただし、任意の要素が条件を満たすかどうかをネイティブで検証する制約もいくつか存在します (HasNaNHasInf など)。このような状況では、AnyElementOf の使用は不要であり、検定パフォーマンスを低下させます。

入力引数

actVal

制約に対してテストする実際の値

プロパティ

ActualValue

制約に対してテストする実際の値。このプロパティは、入力引数 actVal を介してコンストラクターで設定します。

コピーのセマンティクス

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

すべて折りたたむ

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.AnyElementOf

testCase = TestCase.forInteractiveUse;

actVal の少なくとも 1 つの要素が有限であることをテストします。

import matlab.unittest.constraints.IsFinite
actVal = [NaN, Inf, 5];
testCase.verifyThat(AnyElementOf(actVal), IsFinite)
Interactive verification passed.

実際の値の少なくとも 1 つの要素が複素数であることをテストします。

import matlab.unittest.constraints.IsReal
testCase.verifyThat(AnyElementOf([1+0i 4i]), ~IsReal)
Interactive verification passed.

実際の値の配列の少なくとも 1 つの要素が 0 未満であることをテストします。

import matlab.unittest.constraints.IsLessThan
testCase.verifyThat(AnyElementOf([1 5]), IsLessThan(0))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
All elements failed. The first element failed because:
--> IsLessThan failed.
    --> The value must be less than the maximum value.
    
    Actual Value:
             1
    Maximum Value (Exclusive):
             0

Actual Value Array:
         1     5

実際の値の要素は、どちらも 0 未満ではありません。