matlab.unittest.constraints.EveryElementOf class

Пакет: matlab.unittest.constraints

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

Описание

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

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

Конструкция

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

Совет

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

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

actVal

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

Свойства

ActualValue

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

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

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

Примеры

свернуть все

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.EveryElementOf

testCase = TestCase.forInteractiveUse;

Проверяйте, что каждый элемент actVal меньше 55.

import matlab.unittest.constraints.IsLessThan
actVal = [1 1 2 3 5 8 13 21 34];
testCase.verifyThat(EveryElementOf(actVal), IsLessThan(55))
Interactive verification passed.

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

import matlab.unittest.constraints.IsReal
testCase.verifyThat(EveryElementOf([1+2i 4i]), ~IsReal)
Interactive verification passed.

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

import matlab.unittest.constraints.IsLessThan
testCase.verifyThat(EveryElementOf([1 -5]), IsLessThan(0))
Interactive verification failed.

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

Failing indices:
         1
The first failing element failed because:
--> IsLessThan failed.
    --> The value must be less than the maximum value.
    
    Actual Value:
             1
    Maximum Value (Exclusive):
             0

Actual Value Array:
         1    -5

Только второй элемент меньше нуля.

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

import matlab.unittest.constraints.HasNaN
testCase.verifyThat(EveryElementOf([NaN 0/0 5]), HasNaN)
Interactive verification failed.

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

Failing indices:
         3
The first failing element failed because:
--> HasNaN failed.
    --> The value must be NaN.
    
    Actual Value:
             5

Actual Value Array:
       NaN   NaN     5

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