matlab.unittest.constraints.ContainsSubstring class

Пакет: matlab.unittest.constraints
Суперклассы: matlab.unittest.constraints.BooleanConstraint

Ограничение, задающее строку, содержащую подстроку

Конструкция

ContainsSubstring(substring) создает ограничение, которое задает строковый скаляр или вектор символов, содержащий substring. Ограничение выполняется только в том случае, если фактическое значение содержит ожидаемую подстроку.

ContainsSubstring(substring,Name,Value) предоставляет ограничение с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар. Name должны находиться внутри одинарных кавычек (''). Можно задать несколько аргументы пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN.

Входные параметры

substring

Текст, который должен содержаться в фактическом значении, заданном в виде вектора символов или строкового скаляра. substring может включать символы новой строки.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

'IgnoringCase'

Индикатор для игнорирования случая, заданный как false или true (logical 0 или 1).

По умолчанию: false

'IgnoringWhitespace'

Индикатор для игнорирования пробела, заданный как false или true (logical 0 или 1). Если IgnoringWhitespace является true, MATLAB® удаляет любые пробелы из символов как фактического значения, так и ожидаемого значения перед определением, выполнено ли ограничение.

Примечание

Когда IgnoringWhitespace является true, а входной параметр substring должен содержать по крайней мере один символ, не являющийся пробелом.

По умолчанию: false

'WithCount'

Количество раз substring должно содержаться внутри фактического значения, заданного как положительное целое число.

Свойства

IgnoreCase

Индикатор, если ограничение нечувствительно к регистру, заданный в аргументе пары "имя-значение", 'IgnoringCase'.

IgnoreWhitespace

Индикатор, если ограничение нечувствительно к пробелу, заданный в аргументе пары "имя-значение", 'IgnoringWhitespace'.

Substring

Вектор символов или строковый скаляр, который должен быть включен в фактическое значение, заданное в входной параметр, substring.

Копировать семантику

Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

Создайте тест для интерактивных проверок.

import matlab.unittest.TestCase
import matlab.unittest.constraints.ContainsSubstring

testCase = TestCase.forInteractiveUse;

Определите фактическое значение.

actVal = 'This Is One Long Message';

Проверяйте, что actVal содержит текст 'One'.

testCase.verifyThat(actVal, ContainsSubstring('One'))
Verification passed.

Проверяйте, что actVal содержит текст 'long'.

testCase.verifyThat(actVal, ContainsSubstring('long'))
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    ContainsSubstring failed.
    --> The value does not contain the substring.
    
    Actual char:
        This Is One Long Message
    Expected Substring:
        long

По умолчанию в ContainsSubstring ограничение чувствительно к регистру.

Повторите случай игнорирования теста.

testCase.verifyThat(actVal, ContainsSubstring('long', ...
    'IgnoringCase', true))
Verification passed.

Проверяйте, что actVal содержит текст 'is' дважды. Чтобы тест прошел, сконфигурируйте ограничение, чтобы игнорировать случай.

testCase.verifyThat(actVal, ContainsSubstring('is', ...
    'WithCount', 2, 'IgnoringCase', true))
Verification passed.

Проверяйте, что actVal содержит текст 'thisisone'. Чтобы тест прошел, сконфигурируйте ограничение, чтобы игнорировать пробел и случай.

testCase.verifyThat(actVal, ContainsSubstring('thisisone', ...
    'IgnoringCase', true, 'IgnoringWhitespace', true))
Verification passed.

Заявите, что actVal не содержит текста 'longer'.

testCase.assertThat(actVal, ~ContainsSubstring('longer', ...
    'IgnoringCase', true))
Assertion passed.