matlab.unittest.constraints.IsSubsetOf class

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