提交 fdc02b9b 编写于 作者: C CyrusNajmabadi

Add simplification tests.

上级 baa7ebdb
......@@ -249,6 +249,7 @@
<Compile Include="IntelliSense\CompletionRulesTests.vb" />
<Compile Include="LanguageServices\SyntaxFactsServiceTests.vb" />
<Compile Include="NamingStyles\NamingStylesTests.vb" />
<Compile Include="Simplification\BlockSimplificationTests.vb" />
<Compile Include="Simplification\SimplifierAPITests.vb" />
<Compile Include="CodeFixes\CodeFixServiceTests.vb" />
<Compile Include="Compilation\CompilationTests.vb" />
......
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
Imports System.Threading.Tasks
Imports Microsoft.CodeAnalysis.CodeStyle
Imports Microsoft.CodeAnalysis.CSharp.CodeStyle
Imports Microsoft.CodeAnalysis.Options
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Simplification
Public Class SimplificationTests
Inherits AbstractSimplificationTests
Private Shared ReadOnly DoNotPreferBraces As Dictionary(Of OptionKey, Object) = New Dictionary(Of OptionKey, Object) From {{New OptionKey(CSharpCodeStyleOptions.PreferBraces), CodeStyleOptions.FalseWithNoneEnforcement}}
<Fact, Trait(Traits.Feature, Traits.Features.Simplification)>
Public Async Function TestCSharp_DoNotSimplifyIfBlock() As Task
Dim input =
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
class Program
{
void M()
{
if (true)
{|Simplify:{
return;
}|}
}
}
</Document>
</Project>
</Workspace>
Dim expected =
<code>
class Program
{
void M()
{
if (true)
{
return;
}
}
}
</code>
Await TestAsync(input, expected)
End Function
<Fact, Trait(Traits.Feature, Traits.Features.Simplification)>
Public Async Function TestCSharp_DoNotSimplifyMethodBlock() As Task
Dim input =
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
class Program
{
void M()
{|Simplify:{
return;
}|}
}
</Document>
</Project>
</Workspace>
Dim expected =
<code>
class Program
{
void M()
{
return;
}
}
</code>
Await TestAsync(input, expected, DoNotPreferBraces)
End Function
<Fact, Trait(Traits.Feature, Traits.Features.Simplification)>
Public Async Function TestCSharp_DoNotSimplifyTryBlock() As Task
Dim input =
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
class Program
{
void M()
{
try
{|Simplify:{
return;
}|}
finally
{
}
}
}
</Document>
</Project>
</Workspace>
Dim expected =
<code>
class Program
{
void M()
{
try
{
return;
}
finally
{
}
}
}
</code>
Await TestAsync(input, expected, DoNotPreferBraces)
End Function
<Fact, Trait(Traits.Feature, Traits.Features.Simplification)>
Public Async Function TestCSharp_SimplifyIfBlock() As Task
Dim input =
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
class Program
{
void M()
{
if (true)
{|Simplify:{
return;
}|}
}
}
</Document>
</Project>
</Workspace>
Dim expected =
<code>
class Program
{
void M()
{
if (true)
return;
}
}
</code>
Await TestAsync(input, expected, DoNotPreferBraces)
End Function
<Fact, Trait(Traits.Feature, Traits.Features.Simplification)>
Public Async Function TestCSharp_SimplifyElseBlock() As Task
Dim input =
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
class Program
{
void M()
{
if (true)
{
}
else
{|Simplify:{
return;
}|}
}
}
</Document>
</Project>
</Workspace>
Dim expected =
<code>
class Program
{
void M()
{
if (true)
{
}
else
return;
}
}
</code>
Await TestAsync(input, expected, DoNotPreferBraces)
End Function
<Fact, Trait(Traits.Feature, Traits.Features.Simplification)>
Public Async Function TestCSharp_SimplifyWhileBlock() As Task
Dim input =
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
class Program
{
void M()
{
while (true)
{|Simplify:{
return;
}|}
}
}
</Document>
</Project>
</Workspace>
Dim expected =
<code>
class Program
{
void M()
{
while (true)
return;
}
}
</code>
Await TestAsync(input, expected, DoNotPreferBraces)
End Function
<Fact, Trait(Traits.Feature, Traits.Features.Simplification)>
Public Async Function TestCSharp_SimplifyDoBlock() As Task
Dim input =
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
class Program
{
void M()
{
do
{|Simplify:{
return;
}|}
while (true);
}
}
</Document>
</Project>
</Workspace>
Dim expected =
<code>
class Program
{
void M()
{
do
return;
while (true);
}
}
</code>
Await TestAsync(input, expected, DoNotPreferBraces)
End Function
<Fact, Trait(Traits.Feature, Traits.Features.Simplification)>
Public Async Function TestCSharp_SimplifyUsingBlock() As Task
Dim input =
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
class Program
{
void M()
{
using (x)
{|Simplify:{
return;
}|}
}
}
</Document>
</Project>
</Workspace>
Dim expected =
<code>
class Program
{
void M()
{
using (x)
return;
}
}
</code>
Await TestAsync(input, expected, DoNotPreferBraces)
End Function
<Fact, Trait(Traits.Feature, Traits.Features.Simplification)>
Public Async Function TestCSharp_SimplifyLockBlock() As Task
Dim input =
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
class Program
{
void M()
{
lock (x)
{|Simplify:{
return;
}|}
}
}
</Document>
</Project>
</Workspace>
Dim expected =
<code>
class Program
{
void M()
{
lock (x)
return;
}
}
</code>
Await TestAsync(input, expected, DoNotPreferBraces)
End Function
<Fact, Trait(Traits.Feature, Traits.Features.Simplification)>
Public Async Function TestCSharp_SimplifyForBlock() As Task
Dim input =
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
class Program
{
void M()
{
for (;;)
{|Simplify:{
return;
}|}
}
}
</Document>
</Project>
</Workspace>
Dim expected =
<code>
class Program
{
void M()
{
for (;;)
return;
}
}
</code>
Await TestAsync(input, expected, DoNotPreferBraces)
End Function
<Fact, Trait(Traits.Feature, Traits.Features.Simplification)>
Public Async Function TestCSharp_SimplifyForeachBlock() As Task
Dim input =
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
class Program
{
void M()
{
foreach (var x in y)
{|Simplify:{
return;
}|}
}
}
</Document>
</Project>
</Workspace>
Dim expected =
<code>
class Program
{
void M()
{
foreach (var x in y)
return;
}
}
</code>
Await TestAsync(input, expected, DoNotPreferBraces)
End Function
End Class
End Namespace
\ No newline at end of file
......@@ -663,7 +663,6 @@ class Foo{
</code>
Await TestAsync(input, expected)
End Function
<WorkItem(619292, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/619292")>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册