exponenta event banner

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

Пакет: matlab.unittest.constraints

Проверка соответствия какого-либо элемента массива ячеек ограничению

Описание

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

Предполагается, что вы используете этот класс через matlab.unittest квалификации, как показано в примерах. Класс не изменяет предоставленное фактическое значение, но служит оболочкой для выполнения анализа ограничений. Структура тестирования анализирует ограничение по элементам.

Строительство

AnyCellOf(actVal) создает экземпляр прокси, который проверяет, если какой-либо элемент предоставленного массива ячеек, actVal, соответствует ограничению. Тест проходит, если по крайней мере один элемент по отдельности удовлетворяет ограничению.

Входные аргументы

actVal

Фактическое значение для проверки по ограничению

Свойства

ActualValue

Фактическое значение для проверки по ограничению. Задать это свойство через конструктор через actVal входной аргумент.

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

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

Примеры

свернуть все

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.AnyCellOf

testCase = TestCase.forInteractiveUse;

Проверить, что, по крайней мере, одна ячейка actVal является конечным.

import matlab.unittest.constraints.IsFinite
actVal = {NaN, Inf, 5};
testCase.verifyThat(AnyCellOf(actVal), IsFinite)
Interactive verification passed.

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

import matlab.unittest.constraints.HasElementCount
testCase.verifyThat(AnyCellOf({42, [11 38], 1:5}), HasElementCount(5))
Interactive verification passed.

Проверка соответствия хотя бы одной ячейки фактического значения 'tea' независимо от случая.

import matlab.unittest.constraints.Matches
testCase.verifyThat(AnyCellOf({'Coffee','Tea','Water'}), ...
    Matches('tea','IgnoringCase',true))
Interactive verification passed.

Проверьте, что хотя бы одна ячейка фактического значения меньше нуля.

import matlab.unittest.constraints.IsLessThan
testCase.verifyThat(AnyCellOf({1, 5}), IsLessThan(0))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
All cells failed. The first cell failed because:
--> IsLessThan failed.
    --> The value must be less than the maximum value.
    
    Actual double:
             1
    Maximum Value (Exclusive):
             0

Actual Value Cell Array:
        [1]    [5]

Ни один из элементов фактического значения не меньше нуля.

Проверьте, что ни одна из ячеек фактического значения не пуста.

import matlab.unittest.constraints.IsEmpty
testCase.verifyThat(AnyCellOf({inputParser.empty,''}), ~IsEmpty)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
All cells failed. The first cell failed because:
--> Negated IsEmpty failed.
    --> The value must not be empty.
    --> The value has a size of [0  0].
    
    Actual inputParser:
          0x0 inputParser array with properties:
        
            FunctionName
            CaseSensitive
            KeepUnmatched
            PartialMatching
            StructExpand
            Parameters
            Results
            Unmatched
            UsingDefaults

Actual Value Cell Array:
        [0x0 inputParser]    ''

Оба элемента фактических значений пусты.