Remove rule from filter rule set
result = removeRule(filter,rule)
filter — Filter object to remove rule from
Filter object to remove the rule from, specified as an
rule — Rule to remove from the filter
Rule to remove from the filter, specified as an
result — Rule removal result
Rule removal result, returned as 0 or 1.
Remove Rules from Filter Objects
This example shows how to remove a rule from a coverage filter programmatically.
Open the model and specify coverage settings.
modelName = 'slcoverage_lct_bus'; open_system(modelName); set_param(modelName,'CovMetricStructuralLevel','MCDC',... 'RecordCoverage','on');
blockSel1 = slcoverage.BlockSelector(... slcoverage.BlockSelectorType.BlockType,'RelationalOperator'); blockSel2 = slcoverage.BlockSelector(... slcoverage.BlockSelectorType.BlockInstance,... 'slcoverage_lct_bus/slCounter/And');
Create a filter object, create two rule objects, and add each rule to the filter object.
filt = slcoverage.Filter; rule1 = slcoverage.FilterRule(blockSel1,'Tested elsewhere',... slcoverage.FilterMode.Exclude); rule2 = slcoverage.FilterRule(blockSel2,'Value is never greater than 0'); filt.addRule(rule1); filt.addRule(rule2);
Review the rules. Look the first rule in the array.
filtRules = filt.rules filtRules(1)
filtRules = 1x2 FilterRule array with properties: Selector Mode Rationale ans = FilterRule with properties: Selector: [1x1 slcoverage.BlockSelector] Mode: Exclude Rationale: 'Tested elsewhere'
Remove the first rule that you added. Then review the rules to see that the first rule that you added is removed.
filt.removeRule(rule1); filtRules = filt.rules
filtRules = FilterRule with properties: Selector: [1x1 slcoverage.BlockSelector] Mode: Justify Rationale: 'Value is never greater than 0'
Introduced in R2017b