이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
matlab.unittest.constraints.IsOfClass 클래스
네임스페이스: matlab.unittest.constraints
슈퍼클래스: matlab.unittest.constraints.BooleanConstraint
값의 클래스가 지정된 클래스인지 테스트
설명
matlab.unittest.constraints.IsOfClass
클래스는 값의 클래스가 지정된 클래스인지 테스트하는 제약 조건을 제공합니다.
IsOfClass
제약 조건은 클래스가 정확하게 일치하는지 테스트합니다. 클래스 계층 구조에 포함되는지 여부를 테스트하려면 IsInstanceOf
제약 조건을 사용하십시오.
생성
속성
Class
— 예상 클래스
문자형 벡터
예상 클래스로, 문자형 벡터로 반환됩니다. 제약 조건을 생성할 때 이 속성의 값을 string형 스칼라, 문자형 벡터 또는 meta.class
인스턴스로 지정합니다.
특성:
GetAccess | public |
SetAccess | private |
예제
숫자형 값 테스트하기
IsOfClass
제약 조건을 사용하여 숫자형 값을 테스트합니다.
먼저 이 예제에서 사용되는 클래스를 가져옵니다.
import matlab.unittest.TestCase import matlab.unittest.constraints.IsOfClass
대화형 방식 테스트를 위한 테스트 케이스를 생성합니다.
testCase = TestCase.forInteractiveUse;
숫자형 값 5
의 클래스가 double
인지 확인합니다.
testCase.verifyThat(5,IsOfClass("double"))
Verification passed.
string형 대신 meta.class
인스턴스를 사용하여 테스트를 반복합니다.
testCase.verifyThat(5,IsOfClass(?double))
Verification passed.
0이 논리값이 아닌지 확인합니다.
testCase.verifyThat(0,~IsOfClass("logical"))
Verification passed.
함수 핸들 테스트하기
IsOfClass
제약 조건을 사용하여 함수 핸들을 테스트합니다.
먼저 이 예제에서 사용되는 클래스를 가져옵니다.
import matlab.unittest.TestCase import matlab.unittest.constraints.IsOfClass
대화형 방식 테스트를 위한 테스트 케이스를 생성합니다.
testCase = TestCase.forInteractiveUse;
@sin
이 함수 핸들인지 확인합니다.
testCase.verifyThat(@sin,IsOfClass(?function_handle))
Verification passed.
함수 이름 "sin"
을 사용하여 테스트를 반복합니다. 테스트가 실패합니다.
testCase.verifyThat("sin",IsOfClass(?function_handle))
Verification failed. --------------------- Framework Diagnostic: --------------------- IsOfClass failed. --> The value's class is incorrect. Actual Class: string Expected Class: function_handle Actual Value: "sin"
파생된 클래스의 인스턴스 테스트하기
IsOfClass
제약 조건을 사용하여 파생된 클래스의 인스턴스를 테스트합니다.
현재 폴더에 있는 파일에서 ExampleHandle
핸들 클래스를 만듭니다.
classdef ExampleHandle < handle properties Number = 1; end end
이 예제에서 사용되는 클래스를 가져옵니다.
import matlab.unittest.TestCase import matlab.unittest.constraints.IsOfClass
대화형 방식 테스트를 위한 테스트 케이스를 생성합니다.
testCase = TestCase.forInteractiveUse;
IsOfClass
제약 조건을 사용하여 ExampleHandle
객체를 테스트합니다. 테스트가 통과합니다.
actual = ExampleHandle; testCase.verifyThat(actual,IsOfClass(?ExampleHandle))
Verification passed.
핸들 클래스를 사용하여 테스트를 반복합니다. actual
이 핸들 클래스에서 파생되더라도, handle
이 actual
의 정확한 클래스가 아니므로 테스트가 실패합니다.
testCase.verifyThat(actual,IsOfClass(?handle))
Verification failed. --------------------- Framework Diagnostic: --------------------- IsOfClass failed. --> The value's class is incorrect. Actual Class: ExampleHandle Expected Class: handle Actual Value: ExampleHandle with properties: Number: 1
함수의 출력값 테스트하기
IsOfClass
제약 조건을 사용하여 함수의 출력값을 테스트합니다.
현재 폴더에 있는 파일에서 add5
함수를 만듭니다. 이 함수는 숫자형 입력값을 받아 5씩 증가시킵니다.
function y = add5(x) % add5 - Increment input by 5 if ~isa(x,"numeric") error("add5:InputMustBeNumeric","Input must be numeric.") end y = x + 5; end
이 예제에서 사용되는 클래스를 가져옵니다.
import matlab.unittest.TestCase import matlab.unittest.constraints.IsOfClass
대화형 방식 테스트를 위한 테스트 케이스를 생성합니다.
testCase = TestCase.forInteractiveUse;
유효한 입력값을 사용하여 함수를 호출합니다. 그런 다음, 반환된 값의 클래스가 double
인지 테스트합니다. 테스트가 통과합니다.
actual = add5(1); testCase.verifyThat(actual,IsOfClass(?double))
Verification passed.
버전 내역
R2013a에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)