matlab.unittest.constraints.HasUniqueElements class

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

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

Конструкция

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

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

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

Примеры

свернуть все

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

import matlab.unittest.TestCase;
import matlab.unittest.constraints.HasUniqueElements;

testCase = TestCase.forInteractiveUse;

Тестирование 'abc' и 'Mississippi' для уникальных элементов.

testCase.verifyThat('abc', HasUniqueElements);
Interactive verification passed.
testCase.verifyThat('Mississippi', HasUniqueElements);
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
HasUniqueElements failed.
--> The value contains 3 nonunique element(s):
    --> Nonunique element found at indices [2 5 8 11]:
            i
    --> Nonunique element found at indices [9 10]:
            p
    --> Nonunique element found at indices [3 4 6 7]:
            s

Actual char:
    Mississippi

Утверждаем, что набор двойников имеет уникальные элементы.

testCase.assertThat(magic(6), HasUniqueElements);
Interactive assertion passed.
testCase.assertThat(abs(-3:3), HasUniqueElements);
Interactive assertion failed.

---------------------
Framework Diagnostic:
---------------------
HasUniqueElements failed.
--> The value contains 3 nonunique element(s):
    --> Nonunique element found at indices [3 5]:
                 1
    --> Nonunique element found at indices [2 6]:
                 2
    --> Nonunique element found at indices [1 7]:
                 3

Actual double:
         3     2     1     0     1     2     3
Assertion failed.

Проверьте, что массив ячеек имеет уникальные элементы.

testCase.verifyThat({'abc','123';'abc','345'},HasUniqueElements);
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
HasUniqueElements failed.
--> The value contains 1 nonunique element(s):
    --> Nonunique element found at indices [1 2]:
                'abc'

Actual cell:
        'abc'    '123'
        'abc'    '345'

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

t = table([3;3;5],{'A';'C';'E'},logical([1;0;0]));
testCase.assertThat(t,HasUniqueElements);
Interactive assertion passed.
Введенный в R2016a