matlab.unittest.constraints.EveryCellOf class

Пакет: 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]

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