matlab.unittest.constraints. Класс соответствий

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

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

Конструкция

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

Matches(expr,'IgnoringCase',caseInsensitive) создает ограничение, указывающее, проигнорировать ли различие в случае.

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

expr)

Регулярное выражение, с которым фактическое значение должно совпадать, чтобы удовлетворить ограничение, заданное как скаляр строки или вектор символа. expr может включать символы новой строки.

caseInsensitive

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

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

Свойства

Выражение

Регулярное выражение, с которым фактическое значение должно совпадать, заданный во входном параметре, expr.

Игнорирование регистра

Индикатор, если ограничение нечувствительно к регистру, задано во входном параметре, ignoreCase. Это свойство применяется на всех уровнях рекурсии, таких как вложенные структуры.

Примеры

свернуть все

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.Matches

testCase = TestCase.forInteractiveUse;

Протестируйте это, строка фактического значения, 'Epsilon Eridani', совпадает с 'eps'.

testCase.verifyThat('Epsilon Eridani', Matches('^eps'))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
Matches failed.
--> The value does not match the regular expression.

Actual char:
    Epsilon Eridani
Regular Expression:
    ^eps

Чтобы удовлетворить ограничение, сконфигурируйте его, чтобы быть нечувствительными к регистру.

testCase.verifyThat('Epsilon Eridani', Matches('^eps', ...
    'IgnoringCase', true))
Interactive verification passed.

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

expr = 'Some[Tt]?ext';

[Tt]?, содержавшийся в регулярном выражении, указывает, что или 'T' или 't' соответствуют в том местоположении 0 или 1 раз.

Протестируйте это фактические значения, 'SomeText' и 'Sometext', удовлетворите ограничение.

testCase.verifyThat('SomeText', Matches(expr))
testCase.verifyThat('Sometext', Matches(expr))
Interactive verification passed.
Interactive verification passed.

Протестируйте это фактическое значение, 'Someext' удовлетворяет ограничение.

testCase.verifyThat('Someext', Matches(expr))
Interactive verification passed.

Протестируйте это фактическое значение, 'sometext' не удовлетворяет ограничение.

testCase.verifyThat('sometext', Matches(expr))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
Matches failed.
--> The value does not match the regular expression.

Actual char:
    sometext
Regular Expression:
    Some[Tt]?ext
Была ли эта тема полезной?