assertSignalsMatch

Класс: sltest.TestCase
Пакет: sltest

Утверждайте, что два набора данных эквивалентны

Описание

пример

assertSignalsMatch(testCase,actual,expected) содержание теста фильтров путем утверждения, что фактические и ожидаемые значения данных сигнала эквивалентны. Когда утверждение перестало работать, тестовая точка или тестовый файл прекращают запускаться, и тот тест отмечен, как отказавший. Эта проверка полезна, когда отказ в точке утверждения представляет остальную часть текущего недопустимого метода тестирования, но не предотвращает соответствующее выполнение других методов тестирования. Часто, вы используете утверждения, чтобы проверять, что предусловия текущего теста не нарушены или что фиксаторы настраиваются правильно. Для получения дополнительной информации см. matlab.unittest.qualifications. Assertable.

пример

assertSignalsMatch(___,diagnostic) возвращает диагностическую информацию, когда фактические и ожидаемые значения данных не эквивалентны.

пример

assertSignalsMatch(___,Name,Value) содержание теста фильтров с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

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

развернуть все

Экземпляр теста в виде sltest.TestCase объект.

Фактические значения, чтобы выдержать сравнение с ожидаемыми значениями в виде данных временных рядов, строки или символьного массива. Данные для каждого фактического значения должны соединить значение данных с временной стоимостью. Данные должны быть в формате, поддержанном Инспектором Данных моделирования. Инспектор Данных моделирования требует данных в формате, который сопоставляет демонстрационные значения со временем. Поддерживаемые форматы включают timeseries, Structure with time, и Dataset.

Пример: 'C:/matlab/data/actualData.mat'

Ожидаемые значения, чтобы использовать в качестве базовой линии для сравнения. Данные для каждого ожидаемого значения должны соединить значение данных с временной стоимостью. Данные должны быть в формате, поддержанном Инспектором Данных моделирования. Инспектор Данных моделирования требует данных в формате, который сопоставляет демонстрационные значения со временем. Поддерживаемые форматы включают timeseries, Structure with time, и Dataset.

Пример: 'C:/matlab/data/expectedData.mat'

Диагностическая информация, чтобы отобразиться, когда утверждение, что фактические и ожидаемые значения являются эквивалентными сбоями в виде строки, символьного массива, указателя на функцию или экземпляра matlab.unittest.diagnostics.Diagnostic класс.

Пример: 'Simulation output does not match.'

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'AbsTol',.02

В дополнение к перечисленным Парам "имя-значение" можно использовать Simulink.sdi.constraints.MatchesSignal Пары "имя-значение".

Абсолютная погрешность в виде разделенной запятой пары, состоящей из 'AbsTol' и скалярное значение допуска. Допуск задает величину различия между фактическими и ожидаемыми значениями.

Пример: 'AbsTol', 1e-9

Относительная погрешность в виде разделенной запятой пары, состоящей из 'RelTol' и скалярное значение допуска. Относительная погрешность задает величину различия между фактическими и ожидаемыми значениями относительно ожидаемого значения.

Пример: 'RelTol',.002

Допуск времени в виде разделенной запятой пары, состоящей из 'TimeTol' и скалярное значение допуска.

Пример: 'TimeTol',.2

Примеры

развернуть все

Создайте тест для интерактивного использования. Затем симулируйте модель в режиме normal mode, чтобы получить ожидаемые значения и симулировать в быстром режиме Accelerator, чтобы получить фактические значения. Используйте assertSignalsMatch сравнить значения.

testCase =...
   sltest.TestCase.forInteractiveUse;
 
expected = testCase.simulate('myModel',...
   'SimulationMode','Normal');
actual = testCase.simulate('myModel',...
   'SimulationMode','Rapid-Accelerator');
 
testCase.assertSignalsMatch(actual,expected)

Создайте тест для интерактивного использования. Симулируйте модель в быстром режиме Accelerator, чтобы получить фактические значения. Используйте assertSignalsMatch сравнить фактические значения с базовыми значениями, сохраненными в MAT=file. Установите относительную погрешность.

testCase =...
   sltest.TestCase.forInteractiveUse;
 
actual = testCase.simulate('myModel',...
   'SimulationMode','Rapid-Accelerator');

testCase.assertSignalsMatch(actual,'baseline.mat',...
   'RelTol',0.001)
 

Создайте тест для интерактивного использования. Затем симулируйте модель в быстром режиме Accelerator, чтобы получить фактические значения. Используйте assertSignalsMatch сравнить фактические значения с базовыми значениями, сохраненными в MAT-файле. Задайте диагностическое сообщение, чтобы отобразиться, если утверждение перестало работать.

testCase =...
   sltest.TestCase.forInteractiveUse;
 
actual = testCase.simulate('myModel',...
   'SimulationMode','Rapid-Accelerator');
 
testCase.assertSignalsMatch(actual,'baseline.mat',...
   'Rapid-Accel output did not match.')
 
Введенный в R2020b