matlab.unittest.constraints.IsSameSetAs class

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

Набор, задающий ограничения, содержит те же элементы, что и другой набор

Конструкция

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

Наборы могут иметь одни и те же элементы в разных порядках, разных числах или разных формах. Фактическое значение рассматривается как тот же набор, что и ожидаемый набор, если ismember(actual,expected) и ismember(expected,actual) оба возвращаемых массива, которые содержат все true достигаются значения и, по меньшей мере, одно из следующих условий:

  • Фактический набор и ожидаемый набор имеют один и тот же класс.

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

  • Ожидаемый набор является объектом.

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

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

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

Свойства

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

Это свойство доступно только для чтения.

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

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

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

Примеры

свернуть все

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

import matlab.unittest.TestCase;
import matlab.unittest.constraints.IsSameSetAs;

testCase = TestCase.forInteractiveUse;

Проверьте, что два набора совпадают.

actSet = {'a' 'b' 'c'};
expSet = {'a' 'b' 'c'};

testCase.verifyThat(actSet,IsSameSetAs(expSet))
Interactive verification passed.

Повторите тест с другим ожидаемым набором. Тест завершается неуспешно, поскольку наборы не содержат одинаковых элементов.

expSet = {'a' 'b' 'd'};

testCase.verifyThat(actSet,IsSameSetAs(expSet))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsSameSetAs failed.
--> The actual value contains 1 element(s) not found in the expected set:
    --> Element at index 3:
            {'c'}
--> The actual value is missing 1 element(s) found in the expected set:
    --> Element at index 3:
            {'d'}

Actual Value:
  1×3 cell array

    {'a'}    {'b'}    {'c'}
Expected Set:
  1×3 cell array

    {'a'}    {'b'}    {'d'}

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

actSet = [1 2 3];
expSet = [3;2;1];

testCase.verifyThat(actSet,IsSameSetAs(expSet))
Interactive verification passed.

Проверьте, что два набора совпадают. Хотя и expSet содержит элементы, которые не являются уникальными и имеют размер, не совпадающий с actSetЭти два набора имеют одинаковые элементы.

expSet = [1 2 3 1 2];

testCase.verifyThat(actSet,IsSameSetAs(expSet))
Interactive verification passed.
Введенный в R2018a