Main Content

matlab.unittest.constraints.IsSameSetAs クラス

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

同じ要素を含むセットを別のセットとして指定する制約

構築

IsSameSetAs(expSet) は、同じ要素を含むセットを別のセットとして指定する制約を作成します。この制約は、実際の値セットが期待される値セットと同じセットではない場合に検定エラーを生成します。

セットは、同じ要素を異なる順序、異なる数字、または異なる形状で含むことができます。ismember(actual,expected)ismember(expected,actual) の両方がすべて true 値を含む配列を返し、かつ次の条件の少なくとも 1 つが満たされた場合に、実際の値は期待されたセットと同じセットであると見なされます。

  • 実際のセットと期待されたセットが同じクラスである。

  • 実際のセットがオブジェクトである。

  • 期待されたセットがオブジェクトである。

入力引数

すべて展開する

実際の値セットと比較する期待された値セット。入力のタイプは、テスト値によって決まります。

プロパティ

すべて展開する

このプロパティは読み取り専用です。

実際の値セットと比較する期待された値セット。プロパティのデータ型はテスト値によって異なります。このプロパティは、入力引数 expSet を介してコンストラクターで設定します。

コピーのセマンティクス

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

すべて折りたたむ

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

import matlab.unittest.TestCase;
import matlab.unittest.constraints.IsSameSetAs;

testCase = TestCase.forInteractiveUse;

2 つのセットが同じであることを検証します。

actSet = {'a' 'b' 'c'};
expSet = {'a' 'b' 'c'};

testCase.verifyThat(actSet,IsSameSetAs(expSet))
Interactive verification passed.

別の期待されたセットを使用してテストを繰り返します。セットに含まれる要素が同じではないため、テストは失敗します。

expSet = {'a' 'b' 'd'};

testCase.verifyThat(actSet,IsSameSetAs(expSet))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsSameSetAs failed.
--> The actual value contains 1 element(s) not found in the expected set:
    --> Element at index 3:
            {'c'}
--> The actual value is missing 1 element(s) found in the expected set:
    --> Element at index 3:
            {'d'}

Actual Value:
  1×3 cell array

    {'a'}    {'b'}    {'c'}
Expected Set:
  1×3 cell array

    {'a'}    {'b'}    {'d'}

2 つのセットが同じであることを検証します。要素の順序とセットの形状は異なりますが、セットには同じ要素が含まれています。

actSet = [1 2 3];
expSet = [3;2;1];

testCase.verifyThat(actSet,IsSameSetAs(expSet))
Interactive verification passed.

2 つのセットが同じであることを検証します。expSet には一意でない要素が含まれ、actSet とサイズが一致しませんが、2 つのセットには同じ要素があります。

expSet = [1 2 3 1 2];

testCase.verifyThat(actSet,IsSameSetAs(expSet))
Interactive verification passed.

バージョン履歴

R2018a で導入