matlab.unittest.constraints.AnyElementOf class

Пакет: matlab.unittest.constraints

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

Описание

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

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

Конструкция

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

Совет

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

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

actVal

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

Свойства

ActualValue

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

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

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

Примеры

свернуть все

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.AnyElementOf

testCase = TestCase.forInteractiveUse;

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

import matlab.unittest.constraints.IsFinite
actVal = [NaN, Inf, 5];
testCase.verifyThat(AnyElementOf(actVal), IsFinite)
Interactive verification passed.

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

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

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

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

---------------------
Framework Diagnostic:
---------------------
All elements failed. The first 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

Ни один из фактического значения элементов не меньше нуля.