exponenta event banner

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

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