Пакет: matlab.unittest.constraints
Компаратор для двух строк, символьных массивов или массивов ячеек из символьных массивов
StringComparator
создает компаратор для двух строк, символьных массивов или массивов ячеек из символьных массивов. Компаратор удовлетворяется, если два значения равны. По умолчанию StringComparator
проверяет, что значения имеют одинаковый размер и класс, а затем выполняет учитывающее регистр сравнение каждого значения.
StringComparator(
создает компаратор с дополнительными опциями, заданными одним или несколькими Name,Value
)Name,Value
аргументы в виде пар.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
|
Индикатор, если компаратор нечувствителен к случаю, указывается как По умолчанию: |
|
Индикатор, если компаратор нечувствителен к пробелам символов, задается как По умолчанию: |
|
Индикатор, если компаратор нечувствителен к падежу, заданному в аргументе пары "имя-значение", |
|
Индикатор, если компаратор нечувствителен к пробелам в символах, заданных в аргументе пары "имя-значение", |
Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».
В большинстве случаев вы не обязаны использовать StringComparator
объект. The IsEqualTo
класс создает ограничение для проверки на равенство между данными различных типов, включая строки.
Использование StringComparator
объект, когда вам нужно переопределить сравнение, выполненное IsEqualTo
класс. Для примера, если вы хотите, чтобы сравнение не прошло, когда фактические и ожидаемые значения неонтекстуальны, включите StringComparator
объект в вашем тесте. Можно также использовать StringComparator
для ограничения значений, содержащихся в структурах, массивах ячеек и таблицах. В этом примере MATLAB® выдает исключение, поскольку фактические и ожидаемые значения являются числовыми массивами.
import matlab.unittest.constraints.IsEqualTo import matlab.unittest.constraints.StringComparator exp = magic(5); act = exp; testCase = matlab.unittest.TestCase.forInteractiveUse; testCase.verifyThat(act,IsEqualTo(exp,'Using',StringComparator))