matlab.unittest.constraints. Класс ContainsSubstring

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

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

Конструкция

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

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

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

substring

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

'IgnoringCase'

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

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

'IgnoringWhitespace'

Индикатор, если ограничение нечувствительно к пробелу, заданному как false или true (logical 0 или 1)

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

Свойства

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'))
Interactive verification passed.

Тест actVal содержит текст 'long'.

testCase.verifyThat(actVal, ContainsSubstring('long'))
Interactive 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))
Interactive verification passed.

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

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

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

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