@@ -118,17 +118,58 @@ public async Task Should_Get_Settings_With_ExcludeByAttribute_From_CoverageProje
118
118
}
119
119
120
120
[ Test ]
121
- public async Task Should_Get_Settings_With_Include_From_CoverageProject_And_RunSettings_Async ( )
121
+ public async Task Should_Include_From_CoverageProject_Settings_Include_And_RunSettings_Async ( )
122
122
{
123
123
var projectInclude = new string [ ] { "included" } ;
124
124
mockCoverageProject . Setup ( cp => cp . Settings . Include ) . Returns ( projectInclude ) ;
125
125
mockCoverageProject . Setup ( cp => cp . CoverageOutputFolder ) . Returns ( "" ) ;
126
126
127
+ await coverletDataCollectorUtil . RunAsync ( CancellationToken . None ) ;
128
+ mockDataCollectorSettingsBuilder . Verify ( b => b . WithInclude ( projectInclude , It . IsAny < string > ( ) ) ) ;
129
+ }
130
+
131
+ [ Test ]
132
+ public async Task Should_Include_From_CoverageProject_IncludedReferencedProjects_And_RunSettings_Async ( )
133
+ {
134
+ var projectInclude = new string [ ] { "[ReferencedProject]*" } ;
135
+ mockCoverageProject . Setup ( cp => cp . CoverageOutputFolder ) . Returns ( "" ) ;
136
+ var mockReferencedProject = new Mock < IReferencedProject > ( ) ;
137
+ mockReferencedProject . SetupGet ( rp => rp . AssemblyName ) . Returns ( "ReferencedProject" ) ;
138
+ mockCoverageProject . Setup ( cp => cp . IncludedReferencedProjects ) . Returns ( new List < IReferencedProject > { mockReferencedProject . Object } ) ;
139
+
140
+ await coverletDataCollectorUtil . RunAsync ( CancellationToken . None ) ;
141
+ mockDataCollectorSettingsBuilder . Verify ( b => b . WithInclude ( projectInclude , It . IsAny < string > ( ) ) ) ;
142
+ }
143
+
144
+ [ Test ]
145
+ public async Task Should_Not_Include_Test_Assembly_When_IncludeTestAssembly_True_And_No_Other_Includes_Async ( )
146
+ {
147
+ mockCoverageProject . Setup ( cp => cp . CoverageOutputFolder ) . Returns ( "" ) ;
148
+ mockCoverageProject . Setup ( cp => cp . Settings . IncludeTestAssembly ) . Returns ( true ) ;
127
149
mockRunSettingsCoverletConfiguration . Setup ( rsc => rsc . Include ) . Returns ( "rsincluded" ) ;
150
+
151
+ await coverletDataCollectorUtil . RunAsync ( CancellationToken . None ) ;
152
+ mockDataCollectorSettingsBuilder . Verify ( b => b . WithInclude ( new string [ ] { } , It . IsAny < string > ( ) ) ) ;
153
+ }
154
+
155
+ [ Test ]
156
+ public async Task Should_Include_Test_Assembly_When_IncludeTestAssembly_True_And_Other_Includes_Async ( )
157
+ {
158
+ mockCoverageProject . Setup ( cp => cp . CoverageOutputFolder ) . Returns ( "" ) ;
159
+ var projectInclude = new string [ ] { "included" } ;
160
+ mockCoverageProject . Setup ( cp => cp . Settings . Include ) . Returns ( projectInclude ) ;
161
+ mockCoverageProject . Setup ( cp => cp . Settings . IncludeTestAssembly ) . Returns ( true ) ;
162
+ mockCoverageProject . Setup ( cp => cp . ProjectName ) . Returns ( "TestProject" ) ;
163
+ mockRunSettingsCoverletConfiguration . Setup ( rsc => rsc . Include ) . Returns ( "rsincluded" ) ;
164
+
128
165
await coverletDataCollectorUtil . RunAsync ( CancellationToken . None ) ;
129
- mockDataCollectorSettingsBuilder . Verify ( b => b . WithInclude ( projectInclude , "rsincluded" ) ) ;
166
+ mockDataCollectorSettingsBuilder . Verify (
167
+ b => b . WithInclude (
168
+ It . Is < string [ ] > ( includes => includes . OrderBy ( incl => incl ) . SequenceEqual ( new string [ ] { "[TestProject]*" , "included" } ) ) ,
169
+ It . IsAny < string > ( ) ) ) ;
130
170
}
131
171
172
+
132
173
[ TestCase ( true , "true" ) ]
133
174
[ TestCase ( false , "false" ) ]
134
175
public async Task Should_Get_Settings_With_IncludeTestAssembly_From_CoverageProject_And_RunSettings_Async ( bool projectIncludeTestAssembly , string runSettingsIncludeTestAssembly )
0 commit comments