이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

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이 논리형 클래스의 인스턴스가 되는지 어설션(Assertion)합니다.

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 클래스로부터 파생되므로 검증 결과는 통과입니다.

참고 항목

|