matlab.unittest.constraints.IsSupersetOf class

Пакет: matlab.unittest.constraints
Суперклассы: matlab.unittest.constraints.BooleanConstraint

Ограничение, определяющее фактический набор, является верхним набором ожидаемого набора

Конструкция

IsSupersetOf(expSet) создает ограничение, указывающее, что набор фактического значения является супермножеством ожидаемого значения набора. Ограничение создает отказ проверки для любого фактического значения набора, который не является супермножеством ожидаемого значения набора. Набор фактического значения рассматривается как суперсеть ожидаемого значения набора, если ismember(expSet,actSet) содержит все истинные значения и фактические и ожидаемые значения, удовлетворяющие одному из следующих условий:

  • Фактические и ожидаемые значения имеют один и тот же класс.

  • Фактическое значение является объектом.

  • Ожидаемое значение является объектом.

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

расширить все

Ожидаемое значение для сравнения с фактическим значением набором. Тип входов зависит от тестовых значений.

Свойства

расширить все

Подмножество фактического значения набора. Тип данных свойства зависит от тестовых значений. Чтобы удовлетворить ограничению, набор фактического значения должен быть супермножеством Subset. Установите это свойство через конструктор через expSet входной параметр.

Копировать семантику

Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

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

import matlab.unittest.TestCase;
import matlab.unittest.constraints.IsSupersetOf;

testCase = TestCase.forInteractiveUse;

Проверьте, что фактический массив ячеек является подмножеством ожидаемого набора.

testCase.verifyThat({'a','b','c'}, IsSupersetOf({'c';'b'}));
Interactive verification passed.
testCase.verifyThat({'a','b','c'}, IsSupersetOf({'a','d'}));
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsSupersetOf failed.
--> The expected subset contains 1 element(s) not found in the actual value:
    --> Element at index 2 not found in the actual value:
                'd'

Actual Value (cell):
        'a'    'b'    'c'
Expected Subset (cell):
        'a'    'd'

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

testCase.assertThat(magic(21), IsSupersetOf([25;209]));
Interactive assertion passed.
testCase.assertThat(25:33, IsSupersetOf(30:40));
Interactive assertion failed.

---------------------
Framework Diagnostic:
---------------------
IsSupersetOf failed.
--> The expected subset contains elements not found in the actual value (First 5 of 7):
    --> Element at index 5 not found in the actual value:
                34
    --> Element at index 6 not found in the actual value:
                35
    --> Element at index 7 not found in the actual value:
                36
    --> Element at index 8 not found in the actual value:
                37
    --> Element at index 9 not found in the actual value:
                38

Actual Value (double):
        25    26    27    28    29    30    31    32    33
Expected Subset (double):
        30    31    32    33    34    35    36    37    38    39    40
Assertion failed.

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

actT = table([1:2:5]',{'A';'C';'E'},logical([1;0;0]));
expT = table([3,1]',{'C';'A'},logical([0;1]));
testCase.verifyThat(actT, IsSupersetOf(expT));
Interactive verification passed.

Проверяйте, что, если фактический и ожидаемый наборы имеют различные типы, IsSubsetOf ограничение не выполнено.

testCase.assumeThat(single(0:5), IsSupersetOf(1:3));
Interactive assumption failed.

---------------------
Framework Diagnostic:
---------------------
IsSupersetOf failed.
--> Classes do not match.
    
    Actual Class:
        single
    Expected Class:
        double

Actual Value (single):
         0     1     2     3     4     5
Expected Subset (double):
         1     2     3
Assumption failed.
Введенный в R2016a