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