提交 92c529d1 编写于 作者: C CyrusNajmabadi 提交者: GitHub

Merge pull request #18009 from CyrusNajmabadi/addTests

Add Generate-Equals tests.
......@@ -3,13 +3,15 @@
Imports Microsoft.CodeAnalysis.CodeRefactorings
Imports Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeRefactorings
Imports Microsoft.CodeAnalysis.GenerateEqualsAndGetHashCodeFromMembers
Imports Microsoft.CodeAnalysis.PickMembers
Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.GenerateConstructorFromMembers
Public Class GenerateEqualsAndGetHashCodeFromMembersTests
Inherits AbstractVisualBasicCodeActionTest
Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, parameters As TestParameters) As CodeRefactoringProvider
Return New GenerateEqualsAndGetHashCodeFromMembersCodeRefactoringProvider()
Return New GenerateEqualsAndGetHashCodeFromMembersCodeRefactoringProvider(
DirectCast(parameters.fixProviderData, IPickMembersService))
End Function
<WorkItem(541991, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541991")>
......@@ -93,5 +95,111 @@ Partial Class c1(Of V As {New}, U)
End Function
End Class")
End Function
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateEqualsAndGetHashCode)>
Public Async Function TestGenerateOperators1() As Task
Await TestWithPickMembersDialogAsync(
"
Imports System.Collections.Generic
Class Program
Public s As String
[||]
End Class",
"
Imports System.Collections.Generic
Class Program
Public s As String
Public Overrides Function Equals(obj As Object) As Boolean
Dim program = TryCast(obj, Program)
Return program IsNot Nothing AndAlso
s = program.s
End Function
Public Shared Operator =(program1 As Program, program2 As Program) As Boolean
Return EqualityComparer(Of Program).Default.Equals(program1, program2)
End Operator
Public Shared Operator <>(program1 As Program, program2 As Program) As Boolean
Return Not program1 = program2
End Operator
End Class",
chosenSymbols:=Nothing,
optionsCallback:=Sub(options) options(0).Value = True)
End Function
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateEqualsAndGetHashCode)>
Public Async Function TestGenerateOperators3() As Task
Await TestWithPickMembersDialogAsync(
"
Imports System.Collections.Generic
Class Program
Public s As String
[||]
Public Shared Operator =(program1 As Program, program2 As Program) As Boolean
Return True
End Operator
End Class",
"
Imports System.Collections.Generic
Class Program
Public s As String
Public Overrides Function Equals(obj As Object) As Boolean
Dim program = TryCast(obj, Program)
Return program IsNot Nothing AndAlso
s = program.s
End Function
Public Shared Operator =(program1 As Program, program2 As Program) As Boolean
Return True
End Operator
End Class",
chosenSymbols:=Nothing,
optionsCallback:=Sub(Options) Assert.Empty(Options))
End Function
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateEqualsAndGetHashCode)>
Public Async Function TestGenerateOperators4() As Task
Await TestWithPickMembersDialogAsync(
"
Imports System.Collections.Generic
Structure Program
Public s As String
[||]
End Structure",
"
Imports System.Collections.Generic
Structure Program
Public s As String
Public Overrides Function Equals(obj As Object) As Boolean
If Not (TypeOf obj Is Program) Then
Return False
End If
Dim program = DirectCast(obj, Program)
Return s = program.s
End Function
Public Shared Operator =(program1 As Program, program2 As Program) As Boolean
Return program1.Equals(program2)
End Operator
Public Shared Operator <>(program1 As Program, program2 As Program) As Boolean
Return Not program1 = program2
End Operator
End Structure",
chosenSymbols:=Nothing,
optionsCallback:=Sub(options) options(0).Value = True,
ignoreTrivia:=False)
End Function
End Class
End Namespace
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册