diff --git a/src/EditorFeatures/CSharpTest/GenerateFromMembers/GenerateEqualsAndGetHashCodeFromMembers/GenerateEqualsAndGetHashCodeFromMembersTests.cs b/src/EditorFeatures/CSharpTest/GenerateFromMembers/GenerateEqualsAndGetHashCodeFromMembers/GenerateEqualsAndGetHashCodeFromMembersTests.cs index 8306e30d257ab4e435bb7ec12d01321195e13be6..843d9c7e26ffd96f486013560196511b259199dc 100644 --- a/src/EditorFeatures/CSharpTest/GenerateFromMembers/GenerateEqualsAndGetHashCodeFromMembers/GenerateEqualsAndGetHashCodeFromMembersTests.cs +++ b/src/EditorFeatures/CSharpTest/GenerateFromMembers/GenerateEqualsAndGetHashCodeFromMembers/GenerateEqualsAndGetHashCodeFromMembersTests.cs @@ -22,6 +22,9 @@ public class GenerateEqualsAndGetHashCodeFromMembersTests : AbstractCSharpCodeAc private static readonly TestParameters CSharp6 = new TestParameters(parseOptions: TestOptions.Regular.WithLanguageVersion(LanguageVersion.CSharp6)); + private static readonly TestParameters CSharp8 = + new TestParameters(parseOptions: TestOptions.Regular.WithLanguageVersion(LanguageVersion.CSharp8)); + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, TestParameters parameters) => new GenerateEqualsAndGetHashCodeFromMembersCodeRefactoringProvider((IPickMembersService)parameters.fixProviderData); @@ -398,6 +401,31 @@ public override bool Equals(object obj) parameters: CSharp6); } + [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateEqualsAndGetHashCode)] + public async Task TestEqualsNullableContext() + { + await TestInRegularAndScript1Async( +@"#nullable enable + +class Program +{ + [|int a;|] +}", +@"#nullable enable + +class Program +{ + int a; + + public override bool Equals(object? obj) + { + return obj is Program program && + a == program.a; + } +}", +parameters: CSharp8); + } + [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateEqualsAndGetHashCode)] public async Task TestGetHashCodeSingleField1() {