Main Content

matlab.unittest.constraints.LogicalComparator 클래스

패키지: matlab.unittest.constraints

두 논리값의 비교 연산자

생성

LogicalComparator는 두 논리값의 비교 연산자를 만듭니다. 이 비교 연산자는 실제 값과 예상 값의 희소성이 동일하고 두 논리값이 같은 경우에 충족됩니다.

복사 의미 체계

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

예제

모두 축소

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.LogicalComparator
import matlab.unittest.constraints.IsEqualTo

testCase = TestCase.forInteractiveUse;

true의 값을 테스트합니다.

testCase.assertThat(true, IsEqualTo(true, ...
    'Using', LogicalComparator))
Interactive assertion passed.

true 값으로 구성된 배열을 테스트합니다.

testCase.assertThat([true true true], IsEqualTo(true, ...
    'Using', LogicalComparator))
Interactive assertion failed.

---------------------
Framework Diagnostic:
---------------------
IsEqualTo failed.
--> LogicalComparator failed.
    --> The logical values are not equal

Actual Logical Value:
         1     1     1
Expected Logical Value:
         1
Assertion failed.

실제 값은 제약 조건을 충족하는 스칼라 논리값이어야 합니다.

1true를 비교합니다.

testCase.verifyThat(1, IsEqualTo(true, 'Using', LogicalComparator))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsEqualTo failed.
--> LogicalComparator failed.
    --> Class check failed.
        --> Classes do not match.
            
            Actual Class:
                double
            Expected Class:
                logical

Actual double:
         1
Expected logical:
         1

falsetrue를 비교합니다.

testCase.assertThat(false, IsEqualTo(true, 'Using', LogicalComparator))
Interactive assertion failed.

---------------------
Framework Diagnostic:
---------------------
IsEqualTo failed.
--> LogicalComparator failed.
    --> The logical values are not equal

Actual Logical Value:
         0
Expected Logical Value:
         1
Assertion failed.

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

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

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

버전 내역

R2013a에 개발됨