matlab.unittest.constraints.TableComparator class

Пакет: 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 имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

Свойства

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

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