exponenta event banner

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

Пакет: matlab.unittest.constraints

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

Описание

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

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

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

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

Совет

  • EveryCellOf проверяет, удовлетворяет ли каждый элемент в предоставленном массиве ячеек связанному ограничению. Однако существуют некоторые ограничения, заметным из которых является IsEqualTo, которые изначально проверяют, удовлетворяют ли все элементы в массивах ячеек условию. В этих ситуациях использование EveryCellOf является ненужным и препятствует проведению квалификации.

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

actVal

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

Свойства

ActualValue

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

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

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

Примеры

свернуть все

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.EveryCellOf

testCase = TestCase.forInteractiveUse;

Проверьте, что каждая ячейка actVal содержит подстроку 'ain'.

import matlab.unittest.constraints.ContainsSubstring
actVal = {'Rain','Main','Plain'};
testCase.verifyThat(EveryCellOf(actVal), ContainsSubstring('ain'))
Interactive verification passed.

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

import matlab.unittest.constraints.HasElementCount
testCase.verifyThat(EveryCellOf({{'hello','world'}, {11 38}}), HasElementCount(2))
Interactive verification passed.

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

import matlab.unittest.constraints.IsEmpty
testCase.verifyThat(EveryCellOf({inputParser.empty,''}), IsEmpty)
Interactive verification passed.

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

import matlab.unittest.constraints.IsFinite
testCase.verifyThat(EveryCellOf({NaN, Inf, 5}), IsFinite)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
At least one cell failed.

Failing indices:
         1     2
The first failing cell failed because:
--> IsFinite failed.
    --> The value must be finite.
    
    Actual Value:
           NaN

Actual Value Cell Array:
        [NaN]    [Inf]    [5]

Только третий элемент имеет конечное значение.

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

import matlab.unittest.constraints.IsReal
testCase.verifyThat(EveryCellOf({1 4i}), IsReal)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
At least one cell failed.

Failing indices:
         2
The first failing cell failed because:
--> IsReal failed.
    --> The value must be real.
    
    Actual Value:
          0.000000000000000 + 4.000000000000000i

Actual Value Cell Array:
        [1]    [0.000000000000000 + 4.000000000000000i]

Второй элемент имеет мнимое значение.