/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Features/VisualBasicTest/ConvertIfToSwitch/ConvertIfToSwitchFixAllTests.vb
385 строк
9 KB
Cyrus Najmabadi
Organize VB imports
27 июн 2025, 21:53
27 июн 2025, 21:53
e9c47fd
Код
Авторство
О чём код?
' Licensed to the .NET Foundation under one or more agreements. ' The .NET Foundation licenses this file to you under the MIT license. ' See the LICENSE file in the project root for more information. Imports Microsoft.CodeAnalysis.CodeRefactorings Imports Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeRefactorings Imports Microsoft.CodeAnalysis.VisualBasic.ConvertIfToSwitch Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeActions.ConvertIfToSwitch <Trait(Traits.Feature, Traits.Features.CodeActionsConvertIfToSwitch)> Public Class ConvertIfToSwitchFixAllTests Inherits AbstractVisualBasicCodeActionTest_NoEditor Protected Overrides Function CreateCodeRefactoringProvider(workspace As TestWorkspace, parameters As TestParameters) As CodeRefactoringProvider Return New VisualBasicConvertIfToSwitchCodeRefactoringProvider() End Function <Fact> Public Async Function ConvertIfToSwitchStatement_FixAllInDocument() As Task Await TestInRegularAndScriptAsync( "Class C Sub M(i As Integer) {|FixAllInDocument:|}If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub Sub M2(i As Integer) If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub End Class", "Class C Sub M(i As Integer) Select i Case 1, 2, 3 M(0) Case 4, 5, 6 M(1) Case Else M(2) End Select End Sub Sub M2(i As Integer) Select i Case 1, 2, 3 M(0) Case 4, 5, 6 M(1) Case Else M(2) End Select End Sub End Class") End Function <Fact> Public Async Function ConvertIfToSwitchStatement_FixAllInProject() As Task Await TestInRegularAndScriptAsync( " <Workspace> <Project Language=""Visual Basic"" AssemblyName=""Assembly1"" CommonReferences=""true""> <Document> Class C Sub M(i As Integer) {|FixAllInProject:|}If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub End Class </Document> <Document> Class C2 Sub M2(i As Integer) If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub End Class </Document> </Project> <Project Language=""Visual Basic"" AssemblyName=""Assembly2"" CommonReferences=""true""> <Document> Class C3 Sub M3(i As Integer) If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub End Class </Document> </Project> </Workspace>", "<Workspace> <Project Language=""Visual Basic"" AssemblyName=""Assembly1"" CommonReferences=""true""> <Document> Class C Sub M(i As Integer) Select i Case 1, 2, 3 M(0) Case 4, 5, 6 M(1) Case Else M(2) End Select End Sub End Class </Document> <Document> Class C2 Sub M2(i As Integer) Select i Case 1, 2, 3 M(0) Case 4, 5, 6 M(1) Case Else M(2) End Select End Sub End Class </Document> </Project> <Project Language=""Visual Basic"" AssemblyName=""Assembly2"" CommonReferences=""true""> <Document> Class C3 Sub M3(i As Integer) If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub End Class </Document> </Project> </Workspace>") End Function <Fact> Public Async Function ConvertIfToSwitchStatement_FixAllInSolution() As Task Await TestInRegularAndScriptAsync( " <Workspace> <Project Language=""Visual Basic"" AssemblyName=""Assembly1"" CommonReferences=""true""> <Document> Class C Sub M(i As Integer) {|FixAllInSolution:|}If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub End Class </Document> <Document> Class C2 Sub M2(i As Integer) If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub End Class </Document> </Project> <Project Language=""Visual Basic"" AssemblyName=""Assembly2"" CommonReferences=""true""> <Document> Class C3 Sub M3(i As Integer) If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub End Class </Document> </Project> </Workspace>", "<Workspace> <Project Language=""Visual Basic"" AssemblyName=""Assembly1"" CommonReferences=""true""> <Document> Class C Sub M(i As Integer) Select i Case 1, 2, 3 M(0) Case 4, 5, 6 M(1) Case Else M(2) End Select End Sub End Class </Document> <Document> Class C2 Sub M2(i As Integer) Select i Case 1, 2, 3 M(0) Case 4, 5, 6 M(1) Case Else M(2) End Select End Sub End Class </Document> </Project> <Project Language=""Visual Basic"" AssemblyName=""Assembly2"" CommonReferences=""true""> <Document> Class C3 Sub M3(i As Integer) Select i Case 1, 2, 3 M(0) Case 4, 5, 6 M(1) Case Else M(2) End Select End Sub End Class </Document> </Project> </Workspace>") End Function <Fact> Public Async Function ConvertIfToSwitchStatement_FixAllInContainingMember() As Task Await TestInRegularAndScriptAsync( "Class C Sub M(i As Integer) {|FixAllInContainingMember:|}If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub Sub M2(i As Integer) If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub End Class", "Class C Sub M(i As Integer) Select i Case 1, 2, 3 M(0) Case 4, 5, 6 M(1) Case Else M(2) End Select End Sub Sub M2(i As Integer) If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub End Class") End Function <Fact> Public Async Function ConvertIfToSwitchStatement_FixAllInContainingType() As Task Await TestInRegularAndScriptAsync( "Class C Sub M(i As Integer) {|FixAllInContainingType:|}If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub Sub M2(i As Integer) If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub End Class Class C2 Sub M3(i As Integer) If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub End Class", "Class C Sub M(i As Integer) Select i Case 1, 2, 3 M(0) Case 4, 5, 6 M(1) Case Else M(2) End Select End Sub Sub M2(i As Integer) Select i Case 1, 2, 3 M(0) Case 4, 5, 6 M(1) Case Else M(2) End Select End Sub End Class Class C2 Sub M3(i As Integer) If i = 1 OrElse 2 = i OrElse i = 3 Then M(0) ElseIf i = 4 OrElse 5 = i OrElse i = 6 Then M(1) Else M(2) End If End Sub End Class") End Function End Class End Namespace