Skip to content

Commit fa814a5

Browse files
committed
Add test cases for implicit using parsing
1 parent c34fef1 commit fa814a5

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

csharp/extractor/Semmle.Extraction.Tests/FileContent.cs

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)