matlab.unittest.constraints. Класс EveryCellOf

Пакет: matlab.unittest.constraints

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

Описание

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

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

Конструкция

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

Советы

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

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

actVal

Фактическое значение, чтобы протестировать против ограничения

Свойства

Фактическое значение

Фактическое значение, чтобы протестировать против ограничения. Установите это свойство через конструктора через входной параметр 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]

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

Была ли эта тема полезной?