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