Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

matlab.unittest.constraints.StringComparator 클래스

패키지: matlab.unittest.constraints

두 개의 string형, 문자형 배열 또는 문자형 배열로 구성된 셀형 배열에 대한 비교 연산자입니다.

생성

StringComparator는 두 개의 string형, 문자형 배열 또는 문자형 배열로 구성된 비교 연산자를 만듭니다. 이 비교 연산자는 두 값이 동일한 경우에 충족됩니다. 기본적으로 StringComparator는 값의 크기와 클래스가 동일한지 확인한 다음, 각 값의 대/소문자 구분 비교를 실행합니다.

StringComparator(Name,Value)는 하나 이상의 Name,Value 쌍 인수가 추가 옵션으로 지정된 비교 연산자를 생성합니다.

입력 인수

이름-값 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

IgnoringCase

비교 연산자가 대/소문자를 무시하는지 여부를 나타내는 표시로, false 또는 true(logical 0 또는 1)로 지정됩니다. 이 값이 false인 경우 비교 연산자가 대/소문자를 구분합니다.

디폴트 값: false

IgnoringWhitespace

비교 연산자가 공백 문자를 무시하는지 여부를 나타내는 표시로, false 또는 true(logical 0 또는 1)로 지정됩니다. 이 값이 false인 경우 비교 연산자가 공백 문자를 무시하지 않습니다. 공백 문자로는 공백, 폼 피드(Form Feed), 새 줄(Newline), 캐리지 리턴, 가로 탭 및 세로 탭이 있습니다.

디폴트 값: false

속성

IgnoreCase

비교 연산자가 대/소문자를 무시하는지 여부를 나타내는 표시로, 'IgnoringCase' 인수를 통해 이름-값 쌍으로 지정됩니다.

IgnoreWhitespace

비교 연산자가 공백 문자를 무시하는지 여부를 나타내는 표시로, 'IgnoringWhitespace' 인수를 통해 이름-값 쌍으로 지정됩니다.

복사 의미 체계

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

예제

모두 축소

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

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

testCase = TestCase.forInteractiveUse;

문자열 비교 연산자를 사용하여 실제 문자형 벡터와 예상 문자형 벡터가 동일한지 확인합니다.

expected = 'coffee';
actual = 'coffee';
testCase.verifyThat(actual,IsEqualTo(expected, ...
    'Using', StringComparator))
Interactive verification passed.

실제 문자형 벡터를 변경하고 다시 비교합니다.

expected = 'coF Fee';
testCase.verifyThat(actual,IsEqualTo(expected, ...
    'Using', StringComparator))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsEqualTo failed.
--> StringComparator failed.
    --> The character arrays are not equal.
    
    Actual char:
        coffee
    Expected char:
        coF Fee

테스트가 통과되도록 하려면 대/소문자와 공백 문자를 무시하도록 비교 연산자를 구성해야 합니다.

testCase.verifyThat(actual,IsEqualTo(expected, ...
    'Using', StringComparator('IgnoringCase', true, ...
    'IgnoringWhitespace', true)))
Interactive verification passed.

  • 대부분의 경우에는 StringComparator 객체를 사용할 필요가 없습니다. IsEqualTo 클래스는 문자열을 포함하여 여러 유형의 데이터 간의 동일성을 테스트하는 제약 조건을 만듭니다.

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

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

버전 내역

R2013a에 개발됨