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

Пакет: matlab.unittest.constraints

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

Описание

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

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

Конструкция

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

Входные параметры

actVal

Фактическое значение, чтобы протестировать против ограничения

Свойства

Фактическое значение

Фактическое значение, чтобы протестировать против ограничения. Установите это свойство через конструктора через входной параметр 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]    ''

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

Была ли эта тема полезной?