matlab.unittest.constraints.StructComparator クラス
名前空間: matlab.unittest.constraints
構造体配列の比較演算子
説明
matlab.unittest.constraints.StructComparator
クラスは、構造体配列の比較演算子を提供します。この比較演算子をテストで使用するには、StructComparator
インスタンスを作成し、それを IsEqualTo
制約コンストラクターの名前と値の引数 Using
の値として指定します。
作成
説明
c = matlab.unittest.constraints.StructComparator
は、空の構造体配列およびフィールドをもたない構造体配列の比較演算子を作成します。この比較演算子は、実際の値と期待される値が同じサイズとフィールドをもつ構造体配列である場合に満たされます。
c = matlab.unittest.constraints.StructComparator(
は、指定された比較演算子 comp
)comp
を使用して、構造体配列に格納された値を比較します。この構文を使用する場合、実際の値と期待される値が同じサイズとフィールドをもつ構造体配列で、対応するフィールドの値が comp
の比較演算子のいずれかを満たしていれば比較演算子が満たされます。
c = matlab.unittest.constraints.StructComparator(___,
は、前述の構文の任意の入力引数の組み合わせに加え、1 つ以上の名前と値の引数を使用して追加のオプションを設定します。たとえば、Name,Value
)c = matlab.unittest.constraints.StructComparator("Recursively",true)
は、構造体配列に格納された値を比較するときに再帰的に演算を行う比較演算子を作成します。
入力引数
プロパティ
例
ヒント
ほとんどの場合、
StructComparator
インスタンスを使用する必要はありません。構造体配列を含むさまざまなデータ型の等価性をテストする制約がIsEqualTo
クラスで作成されます。StructComparator
インスタンスは、IsEqualTo
クラスで実行される比較をオーバーライドする必要がある場合に使用します。たとえば、構造体配列に数値以外の値が格納されている場合に比較を失敗とするには、StructComparator
インスタンスをテストに含めます。次の例では、実際の構造体と期待される構造体に数値以外の値が格納されているため、MATLAB® からエラーがスローされます。import matlab.unittest.TestCase import matlab.unittest.constraints.IsEqualTo import matlab.unittest.constraints.StructComparator import matlab.unittest.constraints.NumericComparator testCase = TestCase.forInteractiveUse; exp = struct("f1",zeros(1,10),"f2",'a',"f3",{'b','c'}); act = exp; testCase.verifyThat(act,IsEqualTo(exp,"Using",StructComparator(NumericComparator)))
バージョン履歴
R2013a で導入