Main Content

matlab.unittest.constraints.StringComparator 클래스

네임스페이스: matlab.unittest.constraints

string형 배열, 문자형 배열 또는 문자형 배열로 구성된 셀형 배열에 대한 비교 연산자

설명

matlab.unittest.constraints.StringComparator 클래스는 string형 배열, 문자형 배열 또는 문자형 배열로 구성된 셀형 배열에 대한 비교 연산자를 제공합니다. 테스트에 이 비교 연산자를 사용하려면 StringComparator 인스턴스를 만들고 IsEqualTo 제약 조건 생성자의 Using 이름-값 인수 값으로 지정합니다.

생성

설명

예제

c = matlab.unittest.constraints.StringComparator는 string형 배열, 문자형 배열 또는 문자형 배열로 구성된 셀형 배열에 대한 비교 연산자를 만듭니다. 이 비교 연산자는 실제 값과 예상 값이 클래스와 크기가 동일한 텍스트 값이고 대응하는 요소들이 동일한 경우 충족됩니다.

예제

c = matlab.unittest.constraints.StringComparator(Name,Value)는 하나 이상의 이름-값 인수를 사용하여 옵션을 추가로 설정합니다. 예를 들어, c = matlab.unittest.constraints.StringComparator("IgnoringCase",true)는 대/소문자를 무시하는 비교 연산자를 만듭니다.

입력 인수

모두 확장

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

예: c = matlab.unittest.constraints.StringComparator(IgnoringCase=true)

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: c = matlab.unittest.constraints.StringComparator("IgnoringCase",true)

대/소문자 무시 여부로, 숫자형 또는 논리값 0(false) 또는 1(true)로 지정됩니다. 기본적으로 비교 연산자는 대/소문자를 구분합니다.

이 인수는 IgnoreCase 속성을 설정합니다.

공백 무시 여부로, 숫자형 또는 논리값 0(false) 또는 1(true)로 지정됩니다. 기본적으로 비교 연산자는 공백을 무시하지 않습니다. 공백 문자로는 공백(' '), 폼 피드('\f'), 새 줄('\n'), 캐리지 리턴('\r'), 가로 탭('\t'), 세로 탭('\v')이 있습니다.

이 인수는 IgnoreWhitespace 속성을 설정합니다.

속성

모두 확장

대/소문자 무시 여부로, 논리값 0(false) 또는 1(true)로 반환됩니다. 기본적으로 비교 연산자는 대/소문자를 구분합니다.

이 속성은 IgnoringCase 이름-값 인수에 의해 설정됩니다.

특성:

GetAccess
public
SetAccess
private

공백 무시 여부로, 논리형 0(false) 또는 1(true)으로 반환됩니다. 기본적으로 비교 연산자는 공백을 무시하지 않습니다.

이 속성은 IgnoringWhitespace 이름-값 인수에 의해 설정됩니다.

특성:

GetAccess
public
SetAccess
private

예제

모두 축소

StringComparator 클래스로 실제 값과 예상 값을 비교합니다.

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsEqualTo
import matlab.unittest.constraints.StringComparator

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

testCase = TestCase.forInteractiveUse;

StringComparator 인스턴스를 사용하여 문자열 "Milky Way"를 자신과 비교합니다. 테스트가 통과합니다.

testCase.verifyThat("Milky Way",IsEqualTo("Milky Way", ...
    "Using",StringComparator))
Verification passed.

실제 값을 'Milky Way'로 변경합니다. 실제 값과 예상 값의 클래스가 동일하지 않으므로 테스트가 실패합니다.

testCase.verifyThat('Milky Way',IsEqualTo("Milky Way", ...
    "Using",StringComparator))
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    IsEqualTo failed.
    --> StringComparator failed.
        --> Classes do not match.
            
            Actual Class:
                char
            Expected Class:
                string
        
        Actual char:
            Milky Way
        Expected Value:
            "Milky Way"
    ------------------
    Stack Information:
    ------------------
    In C:\work\CompareValuesUsingStringComparatorExample.m (CompareValuesUsingStringComparatorExample) at 22

"Milky way ""Milky Way"를 비교합니다. 값이 동일하지 않으므로 테스트가 실패합니다.

testCase.verifyThat("Milky way ",IsEqualTo("Milky Way", ...
    "Using",StringComparator))
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    IsEqualTo failed.
    --> StringComparator failed.
        --> The strings are not equal.
        
        Actual Value:
            "Milky way "
        Expected Value:
            "Milky Way"
    ------------------
    Stack Information:
    ------------------
    In C:\work\CompareValuesUsingStringComparatorExample.m (CompareValuesUsingStringComparatorExample) at 27

테스트가 통과하도록 하기 위해, 대/소문자와 공백 문자를 무시하는 비교 연산자를 사용합니다.

testCase.verifyThat("Milky way ",IsEqualTo("Milky Way", ...
    "Using",StringComparator( ...
    "IgnoringCase",true,"IgnoringWhitespace",true)))
Verification passed.

  • 대부분의 경우에는 StringComparator 인스턴스를 사용할 필요가 없습니다. IsEqualTo 클래스는 string형 배열, 문자형 배열, 문자형 배열로 구성된 셀형 배열을 포함하여 다양한 데이터형의 동일성을 테스트하는 제약 조건을 만듭니다.

    IsEqualTo 클래스가 수행하는 비교를 재정의해야 하는 경우 StringComparator 인스턴스를 사용하십시오. 예를 들어, 실제 값과 예상 값이 텍스트가 아닌 경우 비교가 실패하도록 하려면 테스트에 StringComparator 인스턴스를 포함하십시오. StringComparator를 사용하여 셀형 배열, 구조체, 사전, 테이블 그리고 MATLAB® 객체 배열의 퍼블릭 속성에 포함된 값을 제한할 수도 있습니다. 다음 예제에서는 실제 값과 예상 값이 숫자형 배열이므로 MATLAB이 오류를 발생시킵니다.

    import matlab.unittest.TestCase
    import matlab.unittest.constraints.IsEqualTo
    import matlab.unittest.constraints.StringComparator
    
    testCase = TestCase.forInteractiveUse;    
    exp = magic(5); 
    act = exp;
    testCase.verifyThat(act,IsEqualTo(exp,"Using",StringComparator))
    

버전 내역

R2013a에 개발됨