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