/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/EditorFeatures/CSharpTest/Extensions/ContextQuery/PossibleTupleContextTests.cs
96 строк
2 KB
Cyrus Najmabadi
Make sealed
26 мар 2025, 22:21
26 мар 2025, 22:21
d99b771
Код
Авторство
О чём код?
// 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. #nullable disable using System.Threading; using Microsoft.CodeAnalysis.CSharp.Extensions.ContextQuery; using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Test.Utilities; using Xunit; namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.IntelliSense.CompletionSetSources; [Trait(Traits.Feature, Traits.Features.Completion)] public sealed class PossibleTupleContextTests : AbstractContextTests { protected override void CheckResult(bool validLocation, int position, SyntaxTree syntaxTree) { var leftToken = syntaxTree.FindTokenOnLeftOfPosition(position, CancellationToken.None); var isPossibleTupleContext = syntaxTree.IsPossibleTupleContext(leftToken, position); Assert.Equal(validLocation, isPossibleTupleContext); } private void VerifyMultipleContexts(string x) { VerifyTrue(x); VerifyTrue(AddInsideClass(x)); VerifyTrue(AddInsideMethod(x)); } [Fact] public void Test1() => VerifyMultipleContexts(@"((a, b) $$"); [Fact] public void Test2() => VerifyMultipleContexts(@"(xyz, (a, b) $$"); [Fact] public void Test3() => VerifyMultipleContexts(@"(a $$"); [Fact] public void Test4() => VerifyMultipleContexts(@"(a, b $$"); [Fact] public void Test5() => VerifyMultipleContexts(@"($$"); [Fact] public void Test6() => VerifyMultipleContexts(@"(a, $$"); [Fact] public void Test7() => VerifyMultipleContexts(@"(a.b $$"); [Fact] public void Test8() => VerifyMultipleContexts(@"(a, a.b $$"); [Fact] public void Test9() => VerifyTrue(@"class C : I<($$"); [Fact] public void Test10() => VerifyTrue(@"class C : I<(a, $$"); [Fact] public void Test11() => VerifyTrue(AddInsideMethod(@"(var $$)")); [Fact] public void Test12() => VerifyTrue(AddInsideMethod(@"(var a, var $$)")); [Fact] public void Test13() => VerifyTrue(AddInsideMethod(@"var str = (($$)items) as string;")); [Fact] public void False1() => VerifyFalse(@"$$"); [Fact] public void False2() => VerifyFalse(AddInsideMethod(@"(int) $$")); [Fact] public void False3() => VerifyFalse(AddInsideMethod(@"(Goo()) $$")); }