matlab.unittest.constraints.AnyCellOf class

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

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

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