Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

matlab.unittest.constraints.ReturnsTrue クラス

パッケージ: matlab.unittest.constraints
スーパークラス: matlab.unittest.constraints.Constraint

true を返す関数ハンドルを指定する制約

構築

ReturnsTrue は、true を返す関数ハンドルを指定する制約を提供します。この制約は、true の値をもつスカラー logical を返す関数ハンドルでのみ満たされます。

コピーのセマンティクス

ハンドル。コピー操作に対するハンドル クラスの影響については、オブジェクトのコピーを参照してください。

すべて折りたたむ

ここに示す比較は一例にすぎません。比較によっては、他の制約のほうが適している場合があります。

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

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

testCase = TestCase.forInteractiveUse;

ReturnsTrue 制約が true のハンドルで返される値で満たされることを検証します。

testCase.verifyThat(@true, ReturnsTrue)
Interactive verification passed.

ReturnsTrue 制約が false のハンドルによって満たされないことを検証します。

testCase.verifyThat(@false, ReturnsTrue)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
ReturnsTrue failed.
--> The function handle should have evaluated to "true".
--> Returned value:
             0

Actual Function Handle:
        @false

isequal の呼び出しで true が返されることを検証します。

testCase.verifyThat(@() isequal(1,1), ReturnsTrue)
Interactive verification passed.

double 値の 1 を返す関数が ReturnsTrue 制約を満たさないことを検証します。

testCase.verifyThat(@() double(true), ReturnsTrue)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
ReturnsTrue failed.
--> The function handle should have returned a logical value. It was of type "double".
--> Returned value:
             1

Actual Function Handle:
        @()double(true)

'a''b' のテキスト比較の否定が true を返すことを検証します。

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

'a' と cell 配列 {'a','a'} の比較が true を返すかどうかテストします。

testCase.verifyThat(@() strcmp('a',{'a','a'}), ReturnsTrue)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
ReturnsTrue failed.
--> The function handle should have returned a scalar. The return value had a size of [1  2].
--> Returned value:
             1     1

Actual Function Handle:
        @()strcmp('a',{'a','a'})

strcmp の呼び出しが、論理スカラーでなく、logical 配列を返すため、制約は満たされません。

ヒント

  • 関数ハンドルの形式でカスタム比較を表示するには、IsTrue ではなく、ReturnsTrue を使用します。