Main Content

matlab.unittest.constraints.ReturnsTrue 클래스

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

함수가 true를 반환하는지 테스트

설명

matlab.unittest.constraints.ReturnsTrue 클래스는 함수가 true를 반환하는지 테스트하는 제약 조건을 제공합니다.

matlab.unittest.constraints.ReturnsTrue 클래스는 handle 클래스입니다.

생성

설명

예제

c = matlab.unittest.constraints.ReturnsTrue는 함수가 true를 반환하는지 테스트하는 제약 조건을 만듭니다. 이 제약 조건은 함수 핸들이 논리형 스칼라 값 1(true)을 반환하는 경우 충족됩니다.

예제

모두 축소

ReturnsTrue 제약 조건을 사용하여 함수를 테스트합니다.

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.ReturnsTrue

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

testCase = TestCase.forInteractiveUse;

true 함수가 ReturnsTrue 제약 조건을 충족하는지 테스트합니다. 테스트가 통과합니다.

testCase.verifyThat(@true,ReturnsTrue)
Verification passed.

false 함수를 테스트합니다. 테스트가 실패합니다.

testCase.verifyThat(@false,ReturnsTrue)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    ReturnsTrue failed.
    --> The function handle did not evaluate to "true".
    --> Returned value:
              logical
            
               0
    
    Evaluated Function:
      function_handle with value:
    
        @false

두 개의 동일한 숫자형 값이 주어질 때 isequal 호출이 true를 반환하는지 테스트합니다. 테스트가 통과합니다.

testCase.verifyThat(@() isequal(1,single(1)),ReturnsTrue)
Verification passed.

서로 다른 문자 두 개가 동일하지 않다는 조건이 true인지 확인합니다.

testCase.verifyThat(@() ~strcmp('a','b'),ReturnsTrue)
Verification passed.

true 값으로 구성된 벡터를 반환하는 함수를 테스트합니다. 반환된 값이 비 스칼라이므로 테스트가 실패합니다.

testCase.verifyThat(@() strcmp('a',{'a','a'}),ReturnsTrue)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    ReturnsTrue failed.
    --> The function handle did not return a scalar. The return value had a size of [1  2].
    --> Returned value:
              1×2 logical array
            
               1   1
    
    Evaluated Function:
      function_handle with value:
    
        @()strcmp('a',{'a','a'})

숫자형 값을 반환하는 함수를 테스트합니다. 테스트가 실패합니다.

testCase.verifyThat(@ones,ReturnsTrue)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    ReturnsTrue failed.
    --> The function handle did not return a logical value. The return value was of type "double".
    --> Returned value:
                 1
    
    Evaluated Function:
      function_handle with value:
    
        @ones

  • ReturnsTrue 대신에 IsTrue 제약 조건을 사용할 수 있습니다. IsTrue가 더 빠르고 사용하기 더 쉽지만 ReturnsTrue는 보다 개선된 진단 정보를 제공합니다. 이 예제에서는 두 테스트가 모두 실패하지만 두 번째 테스트에서는 진단에 함수 핸들을 표시합니다.

    import matlab.unittest.TestCase
    import matlab.unittest.constraints.IsTrue
    import matlab.unittest.constraints.ReturnsTrue
    
    testCase = TestCase.forInteractiveUse;
    actual = 1;
    expected = 2;
    testCase.verifyThat(isequal(actual,expected),IsTrue)
    testCase.verifyThat(@() isequal(actual,expected),ReturnsTrue)

버전 내역

R2013a에 개발됨

모두 확장