matlab.unittest.constraints. Класс CellComparator

Пакет: matlab.unittest.constraints

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

Описание

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

Конструкция

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

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

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

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

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

compObj

Объект Comparator

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

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

'Recursively'

Индикатор того, действует ли компаратор рекурсивно, заданный как false или true (logical 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

Была ли эта тема полезной?