exponenta event banner

matlab.unittest.constraints.IsSupersetOf класс

Пакет: 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