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

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

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

Конструкция

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

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

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

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

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

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

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

Свойства

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

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

Примеры

свернуть все

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

import matlab.unittest.TestCase;
import matlab.unittest.constraints.IsSubsetOf;

testCase = TestCase.forInteractiveUse;

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

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

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

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

Утверждайте, что ряд удваивается, подмножество ожидаемого набора.

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

---------------------
Framework Diagnostic:
---------------------
IsSubsetOf failed.
--> The actual value contains 5 element(s) not found in the expected superset:
    --> Element at index 1 not found in the expected superset:
                25
    --> Element at index 2 not found in the expected superset:
                26
    --> Element at index 3 not found in the expected superset:
                27
    --> Element at index 4 not found in the expected superset:
                28
    --> Element at index 5 not found in the expected superset:
                29

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

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

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

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

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

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

Actual Value (single):
         1     2     3
Expected Superset (double):
         0     1     2     3     4     5
Assumption failed.

Введенный в R2016a