matlab.unittest.constraints.AnyCellOf class

Пакет: matlab.unittest.constraints

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

Описание

The 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]    ''

Оба элемента фактического значения пусты.