@@ -118,17 +118,58 @@ public async Task Should_Get_Settings_With_ExcludeByAttribute_From_CoverageProje
118118 }
119119
120120 [ 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 ( )
122122 {
123123 var projectInclude = new string [ ] { "included" } ;
124124 mockCoverageProject . Setup ( cp => cp . Settings . Include ) . Returns ( projectInclude ) ;
125125 mockCoverageProject . Setup ( cp => cp . CoverageOutputFolder ) . Returns ( "" ) ;
126126
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 ) ;
127149 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+
128165 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 > ( ) ) ) ;
130170 }
131171
172+
132173 [ TestCase ( true , "true" ) ]
133174 [ TestCase ( false , "false" ) ]
134175 public async Task Should_Get_Settings_With_IncludeTestAssembly_From_CoverageProject_And_RunSettings_Async ( bool projectIncludeTestAssembly , string runSettingsIncludeTestAssembly )
0 commit comments