Main Content

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

matlab.unittest.constraints.IsInstanceOf クラス

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

特定のクラス階層への配置を指定する制約

構築

IsInstanceOf(class) は、特定のクラス階層への配置を指定する制約を提供します。この制約は、実際の値のインスタンスが class との "isa" 関係を渡す場合に満たされます。

入力引数

class

制約を満たすため、実際の値がその派生先またはそのインスタンスでなければならないクラス名。文字ベクトルで表された完全修飾クラス名または meta.class インスタンスとして指定します。

プロパティ

Class

制約を満たすために、実際の値の派生元でなければならないクラス名、または実際の値がそのインスタンスでなければならないクラス名。このプロパティは、入力引数 class を介してコンストラクターで設定します。

コピーのセマンティクス

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

すべて折りたたむ

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsInstanceOf

testCase = TestCase.forInteractiveUse;

実際の値 5 がdouble クラスのインスタンスであることを検証します。

testCase.verifyThat(5, IsInstanceOf('double'))
Interactive verification passed.

文字ベクトルの代わりに meta.class のインスタンスを使用して、このテストをもう一度実行します。

testCase.verifyThat(5, IsInstanceOf(?double))
Interactive verification passed.

0 が論理クラスのインスタンスであることをアサートします。

testCase.assertThat(0, IsInstanceOf('logical'))
Interactive assertion failed.

---------------------
Framework Diagnostic:
---------------------
IsInstanceOf failed.
--> The value must be an instance of the expected type.
    
    Actual Class:
        double
    Expected Type:
        logical

Actual Value:
         0
Assertion failed.

@sin が関数ハンドルであることを検証します。

testCase.verifyThat(@sin, IsInstanceOf(?function_handle))
Interactive verification passed.

namechar クラスのインスタンスであることを検証します。

name = 42;
testCase.verifyThat(name, IsInstanceOf('char'))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsInstanceOf failed.
--> The value must be an instance of the expected type.
    
    Actual Class:
        double
    Expected Type:
        char

Actual Value:
        42

作業フォルダーのファイルで、handle クラスから継承されたクラス DerivedExample を作成します。

classdef DerivedExample < handle
end

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsInstanceOf

testCase = TestCase.forInteractiveUse;

DerivedExample クラスのインスタンスが handle のインスタンスであることを検証します。

exObj = DerivedExample;
testCase.verifyThat(exObj, IsInstanceOf(?handle))
Interactive verification passed.

exObjhandle クラスのインスタンスではありませんが、handle クラスから派生しているため、検証はパスします。

参考

|