matlab.unittest.constraints.EveryCellOf class

Пакет: matlab.unittest.constraints

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

Описание

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

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