Main Content

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

matlab.unittest.constraints.IsOfClass クラス

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

クラス タイプを指定する制約

構築

IsOfClass(class) は、クラス タイプを指定する制約を提供します。この制約は、実際の値が class と同じクラスである場合に満たされます。この制約は、実際の値が class から派生した場合は満たされません。

入力引数

class

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

プロパティ

Class

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

コピーのセマンティクス

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

すべて折りたたむ

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsOfClass

testCase = TestCase.forInteractiveUse;

実際の値 5 が double であることを検証します。

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

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

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

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

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

---------------------
Framework Diagnostic:
---------------------
IsOfClass failed.
--> The value's class is incorrect.
    
    Actual Class:
        double
    Expected Class:
        logical

Actual Value:
         0
Assertion failed.

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

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

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

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

---------------------
Framework Diagnostic:
---------------------
IsOfClass failed.
--> The value's class is incorrect.
    
    Actual Class:
        double
    Expected Class:
        char

Actual Value:
        42

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

classdef DerivedExample < handle
end

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsOfClass

testCase = TestCase.forInteractiveUse

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

exObj = DerivedExample;
testCase.verifyThat(exObj, IsOfClass(?handle))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsOfClass failed.
--> The value's class is incorrect.
    
    Actual Class:
        DerivedExample
    Expected Class:
        handle

Actual Value:
      DerivedExample with no properties.

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

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

testCase.verifyThat(exObj, IsOfClass(?DerivedExample))
Interactive verification passed.