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

matlab.unittest.constraints.EveryCellOf 클래스

패키지: matlab.unittest.constraints

셀형 배열의 모든 요소가 제약 조건을 충족하는지 테스트

설명

EveryCellOf 클래스는 프레임워크에 대한 실제 값의 프록시를 생성합니다. 해당 프록시를 통해 테스트 작성자가 셀형 배열의 각 요소에 제약 조건을 적용할 수 있습니다. 이는 셀형 배열의 모든 요소가 제약 조건을 충족하는 경우에 통과가 되도록 보장합니다.

예제에서 볼 수 있듯이 matlab.unittest 가설 검정(Qualification)에 이 클래스를 사용할 수 있습니다. 이 클래스는 제공된 실제 값을 수정하지 않지만 제약 조건 분석을 수행하는 래퍼 역할을 합니다. 테스트 프레임워크는 제약 조건을 요소별로 분석합니다.

생성

EveryCellOf(actVal)은 제공된 셀형 배열 actVal의 모든 요소가 제약 조건을 충족하는지 테스트하는 프록시 인스턴스를 생성합니다. 모든 요소가 제약 조건을 충족하는 경우 테스트의 결과는 통과입니다.

  • EveryCellOf는 제공된 셀형 배열의 모든 요소가 연관된 제약 조건을 충족하는지 확인합니다. 그러나 IsEqualTo와 같은 일부 제약 조건은 셀형 배열의 모든 요소가 조건을 충족하는지에 대한 유효성 검사를 기본적으로 수행합니다. 이 경우 EveryCellOf를 사용하는 것은 불필요하며 가설 검정(Qualification) 성능을 저해합니다.

입력 인수

actVal

제약 조건과 비교 테스트하는 실제 값입니다.

속성

ActualValue

제약 조건과 비교 테스트하는 실제 값입니다. actVal 입력 인수를 통해 생성자에 이 속성을 설정합니다.

복사 의미 체계

값입니다. 값 클래스가 복사 작업에 미치는 영향에 대한 내용은 객체 복사 항목을 참조하십시오.

예제

모두 축소

대화형 방식 테스트를 위한 테스트 케이스를 생성합니다.

import matlab.unittest.TestCase
import matlab.unittest.constraints.EveryCellOf

testCase = TestCase.forInteractiveUse;

actVal의 모든 셀이 부분문자열 'ain'을 포함하는지 테스트합니다.

import matlab.unittest.constraints.ContainsSubstring
actVal = {'Rain','Main','Plain'};
testCase.verifyThat(EveryCellOf(actVal), ContainsSubstring('ain'))
Interactive verification passed.

실제 값 배열의 모든 셀이 요소가 두 개 있는지 테스트합니다.

import matlab.unittest.constraints.HasElementCount
testCase.verifyThat(EveryCellOf({{'hello','world'}, {11 38}}), HasElementCount(2))
Interactive verification passed.

실제 값 배열의 모든 셀이 비어 있는지 테스트합니다.

import matlab.unittest.constraints.IsEmpty
testCase.verifyThat(EveryCellOf({inputParser.empty,''}), IsEmpty)
Interactive verification passed.

실제 값 배열의 모든 셀이 유한한 값을 가지는지 테스트합니다.

import matlab.unittest.constraints.IsFinite
testCase.verifyThat(EveryCellOf({NaN, Inf, 5}), IsFinite)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
At least one cell failed.

Failing indices:
         1     2
The first failing cell failed because:
--> IsFinite failed.
    --> The value must be finite.
    
    Actual Value:
           NaN

Actual Value Cell Array:
        [NaN]    [Inf]    [5]

세 번째 요소만 유한한 값을 가집니다.

실제 값 배열의 모든 셀이 실수 값을 가지는지 테스트합니다.

import matlab.unittest.constraints.IsReal
testCase.verifyThat(EveryCellOf({1 4i}), IsReal)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
At least one cell failed.

Failing indices:
         2
The first failing cell failed because:
--> IsReal failed.
    --> The value must be real.
    
    Actual Value:
          0.000000000000000 + 4.000000000000000i

Actual Value Cell Array:
        [1]    [0.000000000000000 + 4.000000000000000i]

두 번째 요소가 허수 값을 가집니다.