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

Пакет: matlab.unittest.constraints

Компаратор для таблиц MATLAB

Конструкция

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

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

TableComparator(___,Name,Value) предоставляет компаратору дополнительные опции, заданные одним или несколькими аргументами пары Name,Value. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах.

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

развернуть все

Объект Comparator, заданный как экземпляр matlab.unittest.constraints, который классифицируется как компаратор.

Пример: CellComparator

Пример: NumericComparator

Пример: StringComparator

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

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

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

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

Типы данных: логический

Свойства

развернуть все

Индикатор того, действует ли компаратор рекурсивно, возвратился как false или true (logical 0 или 1).

Типы данных: логический

Примеры

свернуть все

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

testCase = matlab.unittest.TestCase.forInteractiveUse;

Составьте две равных таблицы.

LastName = {'Williams';'Jones';'Brown'};
Age = [38;40;49];
Height = [64;67;64];
Weight = [131;133;119];
BloodPressure = [125 83; 117 75; 122 80];

T1 = table(Age,Height,Weight,BloodPressure, ...
    'RowNames',LastName);
T2 = T1;

Протестируйте это, таблицы равны. Проверяйте столбцы таблиц с числовым компаратором.

import matlab.unittest.constraints.TableComparator
import matlab.unittest.constraints.NumericComparator
import matlab.unittest.constraints.IsEqualTo
testCase.verifyThat(T1,IsEqualTo(T2, ...
    'Using',TableComparator(NumericComparator)))
Interactive verification passed.

Измените возраст последнего человека к 50 и сравните таблицы снова.

T2.Age(end) = 50;
testCase.verifyThat(T1,IsEqualTo(T2, ...
    'Using',TableComparator(NumericComparator)))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsEqualTo failed.
--> Path to failure: <Value>.Age
    --> NumericComparator failed.
        --> The values are not equal using "isequaln".
        --> Failure table:
            value =
            
              1×5 table array
            
                Index    Actual    Expected    Error    RelativeError
                _____    ______    ________    _____    _____________
            
                3        49        50          -1       -0.02        
        
        Actual double:
                38
                40
                49
        Expected double:
                38
                40
                50

Actual table:
    value =
    
      3×4 table array
    
                    Age    Height    Weight    BloodPressure
                    ___    ______    ______    _____________
    
        Williams    38     64        131       125     83   
        Jones       40     67        133       117     75   
        Brown       49     64        119       122     80   
Expected table:
    value =
    
      3×4 table array
    
                    Age    Height    Weight    BloodPressure
                    ___    ______    ______    _____________
    
        Williams    38     64        131       125     83   
        Jones       40     67        133       117     75   
        Brown       50     64        119       122     80   

Смотрите также

Введенный в R2017a