@@ -90,5 +90,60 @@ public void TestFileContent2()
9090 Assert . Contains ( "Microsoft.CodeAnalysis.NetAnalyzers" . ToLowerInvariant ( ) , allPackages ) ;
9191 Assert . Contains ( "StyleCop.Analyzers" . ToLowerInvariant ( ) , allPackages ) ;
9292 }
93+
94+ private static void ImplicitUsingsTest ( string line , bool expected )
95+ {
96+ // Setup
97+ var lines = new List < string > ( )
98+ {
99+ line
100+ } ;
101+ var fileContent = new TestFileContent ( lines ) ;
102+
103+ // Execute
104+ var useImplicitUsings = fileContent . UseImplicitUsings ;
105+
106+ // Verify
107+ Assert . Equal ( expected , useImplicitUsings ) ;
108+ }
109+
110+ [ Fact ]
111+ public void TestFileContent_ImplicitUsings0 ( )
112+ {
113+ ImplicitUsingsTest ( "<ImplicitUsings>false</ImplicitUsings>" , false ) ;
114+ }
115+
116+ [ Fact ]
117+ public void TestFileContent_ImplicitUsings1 ( )
118+ {
119+ ImplicitUsingsTest ( "<ImplicitUsings>true</ImplicitUsings>" , true ) ;
120+ }
121+
122+ [ Fact ]
123+ public void TestFileContent_ImplicitUsings2 ( )
124+ {
125+ ImplicitUsingsTest ( "<ImplicitUsings>enable</ImplicitUsings>" , true ) ;
126+ }
127+
128+ [ Fact ]
129+ public void TestFileContent_ImplicitUsingsAdditional ( )
130+ {
131+ // Setup
132+ var lines = new List < string > ( )
133+ {
134+ "<Using Include=\" Ns0.Ns1\" />" ,
135+ "<Using Include=\" Ns2\" />" ,
136+ "<Using Remove=\" Ns3\" />" ,
137+ } ;
138+ var fileContent = new TestFileContent ( lines ) ;
139+
140+ // Execute
141+ var customImplicitUsings = fileContent . CustomImplicitUsings ;
142+
143+ // Verify
144+ Assert . Equal ( 2 , customImplicitUsings . Count ) ;
145+ Assert . Contains ( "Ns0.Ns1" , customImplicitUsings ) ;
146+ Assert . Contains ( "Ns2" , customImplicitUsings ) ;
147+ }
93148 }
94149}
0 commit comments