Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

matlab.unittest.constraints.IsSameHandleAs クラス

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

他のハンドル インスタンスと同じハンドル インスタンスを指定する制約

構築

IsSameHandle(h) は、ハンドル インスタンスまたはインスタンスのグループが他と同じであることを指定する制約を提供します。

この制約は、実際の値の各要素が h の対応する各要素と同じインスタンスである場合にのみ満たされます。

入力引数

h

handle オブジェクトまたは handle オブジェクトの配列。検定に渡される実際の値の配列は、h と同じサイズでなければなりません。

コピーのセマンティクス

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

すべて折りたたむ

作業フォルダーのファイルで、対話型テスト用に次のハンドル クラスを作成します。

classdef ExampleHandle < handle
end

コマンド プロンプトで、対話型テスト用にテスト ケースを作成します。

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsSameHandleAs

testCase = TestCase.forInteractiveUse;

2 つのハンドルをインスタンス化します。

h1 = ExampleHandle;
h2 = ExampleHandle;

ハンドル h1 は、h1 と同じであることを検証します。

testCase.verifyThat(h1, IsSameHandleAs(h1))
Interactive verification passed.

h1h2 と同じハンドル インスタンスであることをテストします。

testCase.verifyThat(h1, IsSameHandleAs(h2))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsSameHandleAs failed.
--> Values do not refer to the same handle.

Actual Value:
      ExampleHandle with no properties.
Expected Handle Object:
      ExampleHandle with no properties.

ハンドルの 2 つの配列が同じインスタンスであることをテストします。

expArr = [h1 h2 h1];
actArr = [h1 h2 h1];

testCase.verifyThat(expArr, IsSameHandleAs(actArr))
Interactive verification passed.

特定の配列の要素同士が同じインスタンスでなくても、この配列は制約を満たします。

1 つのハンドルが期待されているのに実際の値が同じインスタンスの配列であったときに、制約が満たされないことを検証します。

testCase.verifyThat([h1 h1], IsSameHandleAs(h1))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsSameHandleAs failed.
--> Sizes do not match.
    	Actual Value Size           : [1  2]
    	Expected Handle Object Size : [1  1]

Actual Value:
      1x2 ExampleHandle array with no properties.
Expected Handle Object:
      ExampleHandle with no properties.

同様に、ハンドルの配列が期待されているのに値が単一のハンドル インスタンスであった場合、制約は満たされません。

testCase.verifyThat(h2, IsSameHandleAs([h2 h2]))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsSameHandleAs failed.
--> Sizes do not match.
    	Actual Value Size           : [1  1]
    	Expected Handle Object Size : [1  2]

Actual Value:
      ExampleHandle with no properties.
Expected Handle Object:
      1x2 ExampleHandle array with no properties.

参考

| |