matlab.unittest.constraints.StructComparator クラス
パッケージ: matlab.unittest.constraints
MATLAB 構造体配列の比較演算子
構築
StructComparator
は、MATLAB® 構造体配列の比較演算子を作成します。
StructComparator(
は、構造体に含まれる値の比較に使用する比較演算子を定義する比較演算子 compObj
)compObj
を示します。既定では、StructComparator
は空の構造体配列のみをサポートします。
StructComparator(
は、1 つ以上の compObj
,Name,Value
)Name,Value
のペアの引数で指定された追加オプションをもつ比較演算子を提供します。
StructComparator(
は、1 つ以上の Name,Value
)Name,Value
のペアの引数で指定された追加オプションをもつ、空の構造体配列用の比較演算子を提供します。
入力引数
プロパティ
|
struct の比較時に無視されるフィールド。名前と値のペアの引数 |
|
比較演算子が再帰的に演算するかどうかを示すインジケーター。名前と値のペアの引数 |
コピーのセマンティクス
値。値クラスがコピー操作に与える影響については、オブジェクトのコピーを参照してください。
例
ヒント
ほとんどの場合、
StructComparator
オブジェクトを使用する必要はありません。構造体を含むさまざまなタイプのデータ間の等価性をテストする制約がIsEqualTo
クラスで作成されます。StructComparator
オブジェクトは、IsEqualTo
クラスで実行される比較をオーバーライドする必要がある場合に使用します。たとえば、構造体に数値以外の値が含まれる場合に比較を失敗とするには、StructComparator
オブジェクトをテストに含めます。この例では、s1
とs2
に数値以外の値が格納されているため、MATLAB から例外がスローされます。import matlab.unittest.constraints.IsEqualTo import matlab.unittest.constraints.StructComparator import matlab.unittest.constraints.NumericComparator s1 = struct('f1',zeros(1,10),'f2','a','f3',{'b','c'}); s2 = s1; testCase = matlab.unittest.TestCase.forInteractiveUse; testCase.verifyThat(s2,IsEqualTo(s1,'Using',StructComparator(NumericComparator)))