Main Content

matlab.unittest.constraints.IsSubstringOf クラス

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

他の string の部分文字列を指定する制約

構築

IsSubstringOf(superstring) は、別の string スカラーまたは文字ベクトルの部分文字列を指定する制約を作成します。この制約は、実際の値が、期待される上位文字列 superstring 内に含まれる場合にのみ満たされます。

IsSubstringOf(superstring,Name,Value) は、1 つ以上の Name,Value のペアの引数で指定された追加オプションをもつ制約を提供します。Name は一重引用符 ('') で囲まれていなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順番で指定できます。

入力引数

superstring

実際の値が含まれるテキスト。string スカラーまたは文字ベクトルとして指定します。superstring には、改行文字を含めることができます。

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

IgnoringCase

大文字小文字の区別を無視するインジケーター。false または true (logical 0 または 1) として指定します。

既定値: false

IgnoringWhitespace

空白文字を無視するインジケーター。false または true (logical 0 または 1) として指定します。IgnoringWhitespacetrue の場合、MATLAB® は実際の値と期待される値の両方からすべての空白文字を削除したうえで、制約が満たされているかどうかを判定します。

メモ

IgnoringWhitespacetrue の場合、入力引数 superstring には空白以外の文字が少なくとも 1 つ含まれていなければなりません。

既定値: false

WithCount

superstring が実際の値を含まなければならない回数。正の整数として指定します。

テスト フレームワークは、関数 count を使用して実際の値の出現回数をカウントします。空の部分文字列を指定すると、関数 count は、superstring の先頭と末尾、およびすべての文字と文字の間にある空の string をカウントします。つまり、superstringN 個の文字がある場合は、N+1 個の空の部分文字列もあることになります。

プロパティ

IgnoreCase

制約で大文字と小文字が区別されるかどうかを示すインジケーター。名前と値のペアの引数 'IgnoringCase' で指定します。

IgnoreWhitespace

制約で空白が区別されるかどうかを示すインジケーター。名前と値のペアの引数 'IgnoringWhitespace' で指定します。

Superstring

実際の値が含まれる上位文字列。入力引数 superstring で指定します。

コピーのセマンティクス

値。値クラスがコピー操作に与える影響については、オブジェクトのコピーを参照してください。

すべて折りたたむ

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsSubstringOf

testCase = TestCase.forInteractiveUse;

実際の値の文字列を定義します。

S = string('This Is One Long String');

S に実際の値 'One' が含まれていることをテストします。

testCase.verifyThat('One', IsSubstringOf(S))
Verification passed.

S に実際の値 'long' が含まれていることをテストします。

testCase.verifyThat('long', IsSubstringOf(S))
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    IsSubstringOf failed.
    --> The value is not found within the superstring.
    
    Actual char:
        long
    Expected Superstring:
        "This Is One Long String"

既定では、制約 IsSubstringOf は大文字と小文字を区別します。

このテストを、大文字と小文字の区別を無視してもう一度実行します。

testCase.verifyThat('long', IsSubstringOf(S, ...
    'IgnoringCase', true))
Verification passed.

S に実際の値 'is' が 2 回含まれていることをテストします。テストにパスするよう、大文字小文字の区別を無視する制約を構成します。

testCase.verifyThat('is', IsSubstringOf(S, ...
    'WithCount', 2, 'IgnoringCase', true))
Verification passed.

S に実際の値 'thisisone' が含まれていることをテストします。テストにパスするよう、空白および大文字小文字の区別を無視する制約を構成します。

testCase.verifyThat('thisisone', IsSubstringOf(S, ...
    'IgnoringCase', true, 'IgnoringWhitespace', true))
Verification passed.

S に実際の値 'longer' が含まれていないことをアサートします。

testCase.assertThat('Longer', ~IsSubstringOf(S))
Assertion passed.