Main Content

matlab.unittest.constraints.IsTrue クラス

名前空間: matlab.unittest.constraints
スーパークラス: matlab.unittest.constraints.Constraint

値が true であるかどうかをテスト

説明

matlab.unittest.constraints.IsTrue クラスは、値が true であるかどうかをテストするための制約を提供します。

作成

説明

c = matlab.unittest.constraints.IsTrue は、値が true であるかどうかをテストするための制約を作成します。この制約は、1 (true) の logical スカラー値で満たされます。

すべて折りたたむ

IsTrue 制約を使用して、値をテストします。

最初に、この例で使用するクラスをインポートします。

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsTrue

対話型テスト用にテスト ケースを作成します。

testCase = TestCase.forInteractiveUse;

trueIsTrue 制約を満たすことを検証します。

testCase.verifyThat(true,IsTrue)
Verification passed.

false が制約を満たすかどうかをテストします。テストは失敗します。

testCase.verifyThat(false,IsTrue)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    IsTrue failed.
    --> The value must evaluate to "true".
    
    Actual Value:
      logical
    
       0

1 をテストします。値が double 型であるため、テストは失敗します。

testCase.verifyThat(1,IsTrue)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    IsTrue failed.
    --> The value must be logical. It is of type "double".
    
    Actual Value:
         1

[true true] をテストします。値が非スカラーであるため、テストは失敗します。

testCase.verifyThat([true true],IsTrue)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    IsTrue failed.
    --> The value must be scalar. It has a size of [1  2].
    
    Actual Value:
      1×2 logical array
    
       1   1

ヒント

  • IsTrue の代替方法は ReturnsTrue 制約です。IsTrue は実行速度が速く、使いやすいですが、ReturnsTrue はわずかに優れた診断情報を提供します。この例では両方のテストが失敗しますが、2 番目のテストは診断の一部として関数ハンドルを表示します。

    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 で導入