Skip to content

Commit

Permalink
Fix suggestions for constant patterns
Browse files Browse the repository at this point in the history
  • Loading branch information
Rekkonnect committed Oct 3, 2024
1 parent 9d80b77 commit 002ab1c
Show file tree
Hide file tree
Showing 2 changed files with 269 additions and 126 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12868,6 +12868,122 @@ public static T Method<T>(this T s)
await VerifyItemExistsAsync(markup, "Method", displayTextSuffix: "<>");
}

[Fact, WorkItem("https://github.com/dotnet/roslyn/issues/75350")]
public async Task SwitchExpressionEnumColorColor_01()
{
//lang=c#-test
const string source = """
public sealed record OrderModel(int Id, Status Status)
{
public string StatusDisplay
{
get
{
return Status switch
{
Status.$$
};
}
}
}

public enum Status
{
Undisclosed,
Open,
Closed,
}
""";
await VerifyItemExistsAsync(source, "Undisclosed");
await VerifyItemIsAbsentAsync(source, "ToString");
}

[Fact, WorkItem("https://github.com/dotnet/roslyn/issues/75350")]
public async Task SwitchExpressionEnumColorColor_02()
{
//lang=c#-test
const string source = """
public sealed record OrderModel(int Id, Status Status)
{
public string StatusDisplay
{
get
{
return this switch
{
{ Status: Status.$$ }
};
}
}
}

public enum Status
{
Undisclosed,
Open,
Closed,
}
""";
await VerifyItemExistsAsync(source, "Undisclosed");
await VerifyItemIsAbsentAsync(source, "ToString");
}

[Fact, WorkItem("https://github.com/dotnet/roslyn/issues/75350")]
public async Task ConstantPatternExpressionEnumColorColor_01()
{
//lang=c#-test
const string source = """
public sealed record OrderModel(int Id, Status Status)
{
public string StatusDisplay
{
get
{
if (Status is Status.$$)
;
}
}
}

public enum Status
{
Undisclosed,
Open,
Closed,
}
""";
await VerifyItemExistsAsync(source, "Undisclosed");
await VerifyItemIsAbsentAsync(source, "ToString");
}

[Fact, WorkItem("https://github.com/dotnet/roslyn/issues/75350")]
public async Task ConstantPatternExpressionEnumColorColor_02()
{
//lang=c#-test
const string source = """
public sealed record OrderModel(int Id, Status Status)
{
public string StatusDisplay
{
get
{
if (Status is (Status.$$)
;
}
}
}

public enum Status
{
Undisclosed,
Open,
Closed,
}
""";
await VerifyItemExistsAsync(source, "Undisclosed");
await VerifyItemIsAbsentAsync(source, "ToString");
}

#region Collection expressions

[Fact]
Expand Down
Loading

0 comments on commit 002ab1c

Please sign in to comment.