주요 콘텐츠

matlab.unittest.constraints.IsSupersetOf 클래스

네임스페이스: matlab.unittest.constraints
슈퍼클래스: matlab.unittest.constraints.BooleanConstraint

집합이 지정된 집합의 상위 집합인지 테스트

설명

matlab.unittest.constraints.IsSupersetOf 클래스는 집합이 또 다른 집합의 상위 집합인지 테스트하는 제약 조건을 제공합니다.

제약 조건은 ismember 함수를 사용하여 집합을 비교합니다. 따라서 제약 조건과 함께 사용하는 실제 값과 예상 값이 ismember 함수에서 지원되어야 합니다.

생성

설명

c = matlab.unittest.constraints.IsSupersetOf(subset)은 집합이 지정된 부분 집합의 상위 집합인지 테스트하는 제약 조건을 만들고 Subset 속성을 설정합니다. 실제 집합 actual의 경우, ismember(subset,actual)이 전부 true 값으로 구성된 배열을 반환하고 다음 조건 중 하나 이상을 충족하면 제약 조건이 충족됩니다.

  • actualsubset이 동일한 클래스입니다.

  • isobject(actual)true를 반환합니다.

  • isobject(subset)true를 반환합니다.

예제

속성

모두 확장

예상 부분 집합으로, ismember 함수에서 지원하는 임의의 데이터형 값으로 반환됩니다. 제약 조건을 생성할 때 이 속성의 값을 지정합니다.

특성:

GetAccess
public
SetAccess
private

예제

모두 축소

IsSupersetOf 제약 조건을 사용하여 상위 집합인지 테스트합니다.

먼저 이 예제에서 사용되는 클래스를 가져옵니다.

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsSupersetOf

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

testCase = TestCase.forInteractiveUse;

{'c','a','b'}{'a';'b'}의 상위 집합인지 테스트합니다. 예상 부분 집합의 요소가 실제 집합에 있고 두 집합이 동일한 클래스이므로 테스트가 성공합니다.

testCase.verifyThat({'c','a','b'},IsSupersetOf({'a';'b'}))
Verification passed.

{'c','a','d'}를 실제 집합으로 사용하여 다시 테스트합니다. 예상 부분 집합의 요소가 실제 집합에 없으므로 테스트가 실패합니다.

testCase.verifyThat({'c','a','d'},IsSupersetOf({'a';'b'}))
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    IsSupersetOf failed.
    --> The actual value is missing 1 element(s) found in the expected subset:
        --> Element at index 2:
                {'b'}
    
    Actual Value:
      1×3 cell array
    
        {'c'}    {'a'}    {'d'}
    Expected Subset:
      2×1 cell array
    
        {'a'}
        {'b'}

숫자형 행렬 eye(3)이 숫자형 벡터 [1 2 3]의 상위 집합이 아닌지 확인합니다.

testCase.verifyThat(eye(3),~IsSupersetOf([1 2 3]))
Verification passed.

숫자형 벡터 0:5가 숫자형 벡터 single(1:3)의 상위 집합인지 테스트합니다. 실제 값과 예상 값의 유형이 다르므로 테스트가 실패합니다.

testCase.verifyThat(0:5,IsSupersetOf(single(1:3)))
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    IsSupersetOf failed.
    --> Classes do not match.
        
        Actual Class:
            double
        Expected Class:
            single
    
    Actual Value:
         0     1     2     3     4     5
    Expected Subset:
      1×3 single row vector
    
         1     2     3

IsSupersetOf 제약 조건을 사용하여 두 개의 테이블을 비교합니다. 예상 테이블의 행이 실제 테이블에 있으므로 이 테스트는 성공합니다.

actual = table([1:2:5]',{'A';'C';'E'},logical([1;0;0]));
expected = table([3,1]',{'C';'A'},logical([0;1]));
testCase.verifyThat(actual,IsSupersetOf(expected))
Verification passed.

버전 내역

R2016a에 개발됨