matlab.unittest.constraints.IsSubstringOf class

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

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

Конструкция

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

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

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

superstring

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

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

Задайте необязательные разделенные разделенными запятой парами 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, а входной параметр superstring должен содержать по крайней мере один символ, не являющийся пробелом.

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

'WithCount'

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

Среда тестирования использует count функция для подсчета вхождений фактического значения. Когда вы задаете пустую подстроку, count функция отсчитывает пустые строки в начале и конце superstring и между каждой парой его символов. Другими словами, если superstring имеет N символы, он также имеет 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');

Проверьте, что фактическое значение 'One' содержится в S.

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

Проверьте, что фактическое значение 'long' содержится в S.

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.

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

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

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

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

Утвердите, что фактическое значение 'longer' не содержится в S.

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