Main Content

matlab.unittest.constraints.EveryElementOf クラス

名前空間: matlab.unittest.constraints

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

説明

matlab.unittest.constraints.EveryElementOf クラスは、配列のすべての要素が特定の制約を満たしているかどうかをテストするために使用できる実際の値のプロキシを提供します。テストにプロキシを含めると、テスト フレームワークにおいて要素単位で制約が調べられます。

このクラスのインスタンスは、検定メソッド assertThatassumeThatfatalAssertThat、または verifyThat を使用して実行されるテストで使用できます。このクラスでは、与えられた実際の値は変更されません。制約の解析を実行するラッパーとしてのみ機能します。

作成

説明

p = matlab.unittest.constraints.EveryElementOf(actualValue) は、指定された配列のすべての要素が制約を満たしているかどうかをテストするためのプロキシを作成し、ActualValue プロパティを設定します。このプロキシを使用して制約についてテストすると、actualValue のすべての要素が制約を満たしている場合にテストにパスします。

プロパティ

すべて展開する

制約に対してテストする実際の値。任意のデータ型の値として返されます。このプロパティの値は、プロキシの作成時に指定します。実際の値のクラスは、配列インデックス付けをサポートしていて、制約と互換性がなければなりません。

属性:

GetAccess
public
SetAccess
private

すべて折りたたむ

EveryElementOf クラスを使用して、配列のすべての要素が制約を満たしているかどうかをテストします。

最初に、この例で使用するクラスをインポートします。

import matlab.unittest.TestCase
import matlab.unittest.constraints.EveryElementOf
import matlab.unittest.constraints.ContainsSubstring
import matlab.unittest.constraints.HasNaN
import matlab.unittest.constraints.IsReal

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

testCase = TestCase.forInteractiveUse;

ベクトル ["Rain" "Main" "Plain"] のすべての要素に部分文字列 "ain" が含まれていることを検証します。

testCase.verifyThat(EveryElementOf(["Rain" "Main" "Plain"]), ...
    ContainsSubstring("ain"))
Verification passed.

ベクトル [NaN 0/0 5] のすべての要素が NaN 値であるかどうかをテストします。3 番目の要素が NaN 値でないため、テストは失敗します。

testCase.verifyThat(EveryElementOf([NaN 0/0 5]),HasNaN)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    At least one element failed.
    
    Failing indices:
        3
    The first failing element failed because:
    --> HasNaN failed.
        --> The value must be NaN.
        
        Actual Value:
             5
    
    Actual Value Array:
       NaN   NaN     5

ベクトル [0 4i] のすべての要素が複素数であるかどうかをテストします。最初の要素が実数値であるため、テストは失敗します。

testCase.verifyThat(EveryElementOf([0 4i]),~IsReal)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    At least one element failed.
    
    Failing indices:
        1
    The first failing element failed because:
    --> Negated IsReal failed.
        --> The value must not be real.
        
        Actual Value:
             0
    
    Actual Value Array:
      0.000000000000000 + 0.000000000000000i  0.000000000000000 + 4.000000000000000i

ヒント

  • EveryElementOf を使用して、配列のすべての要素が制約を満たしているかどうかをチェックできます。ただし、すべての要素が条件を満たすかどうかをネイティブで検証する制約もいくつか存在します (IsEqualToIsGreaterThanIsLessThan など)。このような状況では、EveryElementOf の使用は不要であり、使用すると検定パフォーマンスが低下します。

バージョン履歴

R2013a で導入