rules

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

Правила для фильтра

Синтаксис

fr = rules(filter)
fr = rules(filter,element)

Описание

fr = rules(filter) возвращает все правила, присвоенные фильтру.

fr = rules(filter,element) возвращает только правила для заданного элемента модели.

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

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

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

Это свойство доступно только для чтения.

Идентификатор элемента модели, правила которого нужно вернуть, заданный в виде вектора символов или строки Simulink ID, свойства элемента модели или указателя.

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

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

Правила фильтрации, возвращенные как slcoverage.FilterRule объект или массив slcoverage.FilterRule объекты.

Примеры

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

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

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

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

bl = slcoverage.BlockSelector(slcoverage.BlockSelectorType.BlockType,'RelationalOperator');
filt = slcoverage.Filter;
rule = slcoverage.FilterRule(bl,'Tested elsewhere',slcoverage.FilterMode.Exclude);
filt.addRule(rule);

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

id = Simulink.ID.getSID('sldemo_lct_bus/slCounter/And');
bl = slcoverage.BlockSelector(slcoverage.BlockSelectorType.BlockInstance,id);
rule = slcoverage.FilterRule(bl,'Value is never greater than 0');
filt.addRule(rule);

Использовать rules для возврата правил фильтрации. Просмотрите первое правило в массиве.

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'

Использовать rules чтобы вернуть правило только для блока And.

filt.rules(id)
ans = 

  FilterRule with properties:

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