주요 콘텐츠

matlab.unittest.constraints.HasUniqueElements 클래스

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

집합이 고유한 요소를 가지는지 테스트

설명

matlab.unittest.constraints.HasUniqueElements 클래스는 집합이 고유한 요소를 가지는지 테스트하는 제약 조건을 제공합니다.

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

생성

설명

c = matlab.unittest.constraints.HasUniqueElements는 집합이 고유한 요소를 가지는지 테스트하는 제약 조건을 만듭니다. 실제 집합 actual의 경우, 이 제약 조건은 numel(unique(actual))numel(actual)과 같으면 충족됩니다.

예제

예제

모두 축소

HasUniqueElements 제약 조건을 사용하여 집합을 테스트합니다.

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.HasUniqueElements

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

testCase = TestCase.forInteractiveUse;

'abc'가 고유한 문자로 구성되어 있는지 확인합니다.

testCase.verifyThat('abc',HasUniqueElements)
Verification passed.

'Mississippi'를 실제 집합으로 사용하여 다시 테스트합니다. 지정된 값에 반복되는 문자가 포함되어 있으므로 테스트가 실패합니다.

testCase.verifyThat('Mississippi',HasUniqueElements)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    HasUniqueElements failed.
    --> The value contains 3 nonunique element(s):
        --> Nonunique element found at indices [2 5 8 11]:
                    i
        --> Nonunique element found at indices [9 10]:
                    p
        --> Nonunique element found at indices [3 4 6 7]:
                    s
    
    Actual char:
        Mississippi

숫자형 행렬 eye(5)가 고유한 요소를 가지지 않는지 확인합니다.

testCase.verifyThat(eye(5),~HasUniqueElements)
Verification passed.

숫자형 벡터 abs(-3:3)이 고유한 요소를 가지는지 테스트합니다. 테스트가 실패합니다.

testCase.verifyThat(abs(-3:3),HasUniqueElements)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    HasUniqueElements failed.
    --> The value contains 3 nonunique element(s):
        --> Nonunique element found at indices [3 5]:
                     1
        --> Nonunique element found at indices [2 6]:
                     2
        --> Nonunique element found at indices [1 7]:
                     3
    
    Actual Value:
         3     2     1     0     1     2     3

셀형 배열 {'a','b','ab','bb'}가 고유한 요소를 가지는지 테스트합니다. 테스트가 통과합니다.

testCase.verifyThat({'a','b','ab','bb'},HasUniqueElements)
Verification passed.

HasUniqueElements 제약 조건을 사용하여 고유한 행이 있는 테이블을 테스트합니다. 테스트가 통과합니다.

T = table([3;3;5],{'A';'C';'E'},logical([1;0;0]));
testCase.verifyThat(T,HasUniqueElements)
Verification passed.

버전 내역

R2016a에 개발됨