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 логический0 или 1).

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

'IgnoringWhitespace'

Индикатор, чтобы проигнорировать пробел в виде false или true логический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.