matlab.unittest.constraints.CellComparator class

Пакет: matlab.unittest.constraints

Компаратор для массивов ячеек

Описание

CellComparator сравнивает массивы ячеек.

Конструкция

CellComparator создает компаратор для массивов ячеек.

CellComparator(compObj) указывает на компаратор, compObj, это задает компаратор, используемый, чтобы сравнить значения, содержавшиеся в массиве ячеек. По умолчанию компаратор ячейки поддерживает только массивы пустой ячейки.

CellComparator(compObj,Name,Value) предоставляет компаратору дополнительные опции, заданные одним или несколькими Name,Value парные аргументы.

CellComparator(Name,Value) обеспечивает компаратор для массивов пустой ячейки с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

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

compObj

Объект Comparator

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

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

'Recursively'

Индикатор того, действует ли компаратор рекурсивно, заданный как false или true логический0 или 1). Когда этим значением является false, компаратор не работает рекурсивно со своими данными.

Когда значением является true, типы данных поддержки компаратора ячейки полностью поддержаны в рекурсии. Например:

comp1 = CellComparator(StringComparator)
comp2 = CellComparator(StringComparator,'Recursively', true)
Оба comp1 и comp2 поддержите массивы ячеек строк и символьных массивов. Однако только comp2 массивы ячеек поддержек, которые рекурсивно содержат или массивы ячеек или строки как их элементы.

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

Свойства

Recursive

Индикатор того, действует ли компаратор рекурсивно, заданный в аргументе пары "имя-значение", 'Recursively'

Примеры

свернуть все

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

import matlab.unittest.TestCase;
import matlab.unittest.constraints.CellComparator
import matlab.unittest.constraints.StringComparator
import matlab.unittest.constraints.IsEqualTo

testCase = TestCase.forInteractiveUse;

Используйте CellComparator чтобы протестировать это, два массива ячеек равны друг другу.

actual = {'abc','def'};
expected = {'abc','def'};
testCase.verifyThat(actual, IsEqualTo(expected,...
    'Using', CellComparator(StringComparator)))
Interactive verification passed.

По умолчанию, CellComparator поддержки только сравнение массивов пустой ячейки. Поэтому необходимо передать его StringComparator.

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

actual = {'ABC','D E F'};
testCase.verifyThat(actual, IsEqualTo(expected, 'Using', ...
    CellComparator(StringComparator), 'IgnoringWhitespace', ...
    true, 'IgnoringCase',true))
Interactive verification passed.

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

actual = {'abc',{'def','ghi'}};
expected = {'abc',{'def','ghi'}};

testCase.verifyThat(actual, IsEqualTo(expected, 'Using', ...
    CellComparator(StringComparator, 'Recursively', true)))
Interactive verification passed.

Введенный в R2013a

Для просмотра документации необходимо авторизоваться на сайте