removeRule

Класс: slcoverage. Фильтр
Пакет: slcoverage

Удалите правило из набора правил фильтра

Синтаксис

result = removeRule(filter,rule)

Описание

result = removeRule(filter,rule) удаляет правило фильтра из указанного фильтра.

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

расширить все

Фильтруйте объект, из которого нужно удалить правило, заданное как slcoverage.Filter объект.

Правило удаления из фильтра, заданное как slcoverage.FilterRule объект.

Выходные аргументы

расширить все

Результат удаления правила, возвращенный к значению 0 или 1.

Примеры

расширить все

Создайте селектор блоков, фильтр и правило для селектора. Добавьте правила к фильтру. Затем удалите правило из фильтра.

Откройте модель. Задайте параметры покрытия и включите запись покрытия.

modelName = 'sldemo_lct_bus';
open_system(modelName);
set_param(modelName,'CovMetricStructuralLevel','MCDC','RecordCoverage','on');

Создайте два BlockSelector объекты, bl и bl1.

bl = slcoverage.BlockSelector(slcoverage.BlockSelectorType.BlockType,'RelationalOperator');
id = Simulink.ID.getSID('sldemo_lct_bus/slCounter/And');
bl1 = slcoverage.BlockSelector(slcoverage.BlockSelectorType.BlockInstance,id);

Создайте объект фильтра, создайте два объекта правила и добавьте каждое правило к объекту фильтра.

filt = slcoverage.Filter;
rule = slcoverage.FilterRule(bl,'Tested elsewhere',slcoverage.FilterMode.Exclude);
rule1 = slcoverage.FilterRule(bl1,'Value is never greater than 0');
filt.addRule(rule);
filt.addRule(rule1);

Проверьте правила. Посмотрите первое правило в массиве.

fi = filt.rules
fi(1)
fi = 

  1×2 FilterRule array with properties:

    Selector
    Mode
    Rationale

ans = 

  FilterRule with properties:

     Selector: [1×1 slcoverage.BlockSelector]
         Mode: Exclude
    Rationale: 'Tested elsewhere'

Удалите первое добавленное правило. Затем проверьте правила, чтобы увидеть, что первое добавленное правило удалено.

filt.removeRule(rule);
fi = filt.rules
fi = 

  FilterRule with properties:

     Selector: [1×1 slcoverage.BlockSelector]
         Mode: Justify
    Rationale: 'Value is never greater than 0'
Введенный в R2017b