@@ -63,24 +63,19 @@ public void MergeRulesets_IncludeRulesets_AbsolutePaths()
6363 // 1. No included rulesets
6464 string primaryRuleset = this . CreateValidRuleset ( "no-added-includes.ruleset.txt" ) ;
6565 mergedRuleset = ExecuteAndCheckSuccess ( projectDir , primaryRuleset ) ;
66- RuleSetAssertions . AssertExpectedIncludeFiles ( mergedRuleset /* no included files*/ ) ;
66+ RuleSetAssertions . AssertExpectedIncludeFilesAndDefaultAction ( mergedRuleset /* no included files*/ ) ;
6767
6868 // 2. Adding includes
6969 primaryRuleset = this . CreateValidRuleset ( "added-includes1.ruleset.txt" ) ;
7070 mergedRuleset = ExecuteAndCheckSuccess ( projectDir , primaryRuleset , "c:\\ include1.ruleset" ) ;
71- RuleSetAssertions . AssertExpectedIncludeFiles ( mergedRuleset , "c:\\ include1.ruleset" ) ;
72- RuleSetAssertions . AssertExpectedIncludeAction ( mergedRuleset , "c:\\ include1.ruleset" , RuleSetAssertions . DefaultActionValue ) ;
71+ RuleSetAssertions . AssertExpectedIncludeFilesAndDefaultAction ( mergedRuleset , "c:\\ include1.ruleset" ) ;
7372
7473 // 3. Adding an include that already exists
7574 primaryRuleset = this . CreateValidRuleset ( "added-includes.existing.ruleset.txt" ) ;
7675 string rulesetWithExistingInclude = ExecuteAndCheckSuccess ( projectDir , primaryRuleset , "c:\\ include1.ruleset" , "c:\\ include2.ruleset" ) ; // create a file with includes
7776
7877 mergedRuleset = ExecuteAndCheckSuccess ( projectDir , rulesetWithExistingInclude , "c:\\ include1.ruleset" , "c:\\ INCLUDE2.RULESET" , "c:\\ include3.ruleset" ) ; // add the same includes again with one extra
79- RuleSetAssertions . AssertExpectedIncludeFiles ( mergedRuleset , "c:\\ include1.ruleset" , "c:\\ include2.ruleset" , "c:\\ include3.ruleset" ) ;
80-
81- RuleSetAssertions . AssertExpectedIncludeAction ( mergedRuleset , "c:\\ include1.ruleset" , RuleSetAssertions . DefaultActionValue ) ;
82- RuleSetAssertions . AssertExpectedIncludeAction ( mergedRuleset , "c:\\ include2.ruleset" , RuleSetAssertions . DefaultActionValue ) ;
83- RuleSetAssertions . AssertExpectedIncludeAction ( mergedRuleset , "c:\\ include3.ruleset" , RuleSetAssertions . DefaultActionValue ) ;
78+ RuleSetAssertions . AssertExpectedIncludeFilesAndDefaultAction ( mergedRuleset , "c:\\ include1.ruleset" , "c:\\ include2.ruleset" , "c:\\ include3.ruleset" ) ;
8479 }
8580
8681 [ TestMethod ]
@@ -94,20 +89,20 @@ public void MergeRulesets_IncludeRulesets_RelativePaths()
9489 // 1. Relative ruleset path that can be resolved -> included
9590 string primaryRuleset = this . CreateValidRuleset ( "found.relative.ruleset.txt" ) ;
9691 mergedRuleset = ExecuteAndCheckSuccess ( projectDir , primaryRuleset , "relative.ruleset" ) ;
97- RuleSetAssertions . AssertExpectedIncludeFiles ( mergedRuleset , absoluteRulesetPath ) ;
92+ RuleSetAssertions . AssertExpectedIncludeFilesAndDefaultAction ( mergedRuleset , absoluteRulesetPath ) ;
9893
9994 // 1. Relative ruleset path that can be resolved -> included
10095 primaryRuleset = this . CreateValidRuleset ( "found.relative2.ruleset.txt" ) ;
10196 mergedRuleset = ExecuteAndCheckSuccess ( projectDir , primaryRuleset ,
10297 ".\\ relative.ruleset" , // should be resolved correctly...
10398 ".\\ .\\ relative.ruleset" ) ; // ... but only added once.
10499
105- RuleSetAssertions . AssertExpectedIncludeFiles ( mergedRuleset , absoluteRulesetPath ) ;
100+ RuleSetAssertions . AssertExpectedIncludeFilesAndDefaultAction ( mergedRuleset , absoluteRulesetPath ) ;
106101
107102 // 2. Relative ruleset path that cannot be resolved -> not included
108103 primaryRuleset = this . CreateValidRuleset ( "not.found.relative.ruleset.txt" ) ;
109104 mergedRuleset = ExecuteAndCheckSuccess ( projectDir , primaryRuleset , "not.found\\ relative.ruleset" ) ;
110- RuleSetAssertions . AssertExpectedIncludeFiles ( mergedRuleset /* ruleset should not have been resolved */ ) ;
105+ RuleSetAssertions . AssertExpectedIncludeFilesAndDefaultAction ( mergedRuleset /* ruleset should not have been resolved */ ) ;
111106 }
112107
113108 [ TestMethod ]
@@ -122,7 +117,7 @@ public void MergeRulesets_EmptyRuleset()
122117 string mergedRuleset = ExecuteAndCheckSuccess ( testDir , primaryRuleset , "c:\\ foo\\ added.ruleset" ) ;
123118
124119 // Assert
125- RuleSetAssertions . AssertExpectedIncludeFiles ( mergedRuleset , "c:\\ foo\\ added.ruleset" ) ;
120+ RuleSetAssertions . AssertExpectedIncludeFilesAndDefaultAction ( mergedRuleset , "c:\\ foo\\ added.ruleset" ) ;
126121 }
127122
128123
@@ -134,18 +129,29 @@ public void MergeRulesets_ExistingInclude()
134129 string primaryRuleset = TestUtils . CreateTextFile ( testDir , "existing.ruleset.txt" ,
135130@"<?xml version=""1.0"" encoding=""utf-8""?>
136131<RuleSet Name=""RulesetName"" ToolsVersion=""14.0"">
137- <Include Path=""d:\include1.ruleset"" Action=""Error"" />
132+ <Include Path=""d:\error.include.ruleset"" Action=""Error"" />
133+ <Include Path=""d:\info.include.ruleset"" Action=""Info"" />
134+ <Include Path=""d:\warning.include.ruleset"" Action=""Warning"" />
135+ <Include Path=""d:\default.include.ruleset"" Action=""Default"" />
138136 <Rules AnalyzerId=""My.Analyzer"" RuleNamespace=""My.Analyzers"">
139137 <Rule Id=""Rule002"" Action=""Error"" />
140138 </Rules>
141139</RuleSet>
142140" ) ;
143141 // Act
144- ExecuteAndCheckSuccess ( testDir , primaryRuleset , "d:\\ include1.ruleset" ) ;
142+ string mergedRuleset = ExecuteAndCheckSuccess ( testDir , primaryRuleset ,
143+ "d:\\ error.include.ruleset" ,
144+ "d:\\ info.include.ruleset" ,
145+ "d:\\ warning.include.ruleset" ,
146+ "d:\\ default.include.ruleset" ) ;
145147
146148 // Assert
147- RuleSetAssertions . AssertExpectedIncludeFiles ( primaryRuleset , "d:\\ include1.ruleset" ) ;
148- RuleSetAssertions . AssertExpectedIncludeAction ( primaryRuleset , "d:\\ include1.ruleset" , ErrorActionValue ) ; // action value should still be Error
149+ RuleSetAssertions . AssertExpectedIncludeFilesAndDefaultAction ( mergedRuleset ,
150+ // Action value should be "Warning" for all included rulesets
151+ "d:\\ error.include.ruleset" ,
152+ "d:\\ info.include.ruleset" ,
153+ "d:\\ warning.include.ruleset" ,
154+ "d:\\ default.include.ruleset" ) ;
149155 }
150156
151157 #endregion
0 commit comments