/src/EditorFeatures/CSharpTest/Recommendations/ProtectedKeywordRecommenderTests.cs
C# | 370 lines | 319 code | 50 blank | 1 comment | 0 complexity | 7441c5be3465a1cf8da98222c7b66e78 MD5 | raw file
- // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
- using Microsoft.CodeAnalysis;
- using Microsoft.CodeAnalysis.Text;
- using Roslyn.Test.Utilities;
- using Roslyn.Test.Utilities.Parallel;
- using Xunit;
- namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.Recommendations
- {
- [ParallelFixture]
- public class ProtectedKeywordRecommenderTests : KeywordRecommenderTests
- {
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAtRoot_Interactive()
- {
- VerifyAbsence(SourceCodeKind.Script,
- @"$$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterClass_Interactive()
- {
- VerifyAbsence(SourceCodeKind.Script,
- @"class C { }
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterGlobalStatement_Interactive()
- {
- VerifyAbsence(SourceCodeKind.Script,
- @"System.Console.WriteLine();
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterGlobalVariableDeclaration_Interactive()
- {
- VerifyAbsence(SourceCodeKind.Script,
- @"int i = 0;
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotInUsingAlias()
- {
- VerifyAbsence(
- @"using Foo = $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotInEmptyStatement()
- {
- VerifyAbsence(AddInsideMethod(
- @"$$"));
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotInCompilationUnit()
- {
- VerifyAbsence(@"$$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterExtern()
- {
- VerifyAbsence(@"extern alias Foo;
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterUsing()
- {
- VerifyAbsence(@"using Foo;
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterNamespace()
- {
- VerifyAbsence(@"namespace N {}
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterTypeDeclaration()
- {
- VerifyAbsence(@"class C {}
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterDelegateDeclaration()
- {
- VerifyAbsence(@"delegate void Foo();
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void AfterMethod()
- {
- VerifyKeyword(
- @"class C {
- void Foo() {}
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void AfterField()
- {
- VerifyKeyword(
- @"class C {
- int i;
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void AfterProperty()
- {
- VerifyKeyword(
- @"class C {
- int i { get; }
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotBeforeUsing()
- {
- VerifyAbsence(
- @"$$
- using Foo;");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterAssemblyAttribute()
- {
- VerifyAbsence(@"[assembly: foo]
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterRootAttribute()
- {
- VerifyAbsence(@"[foo]
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void AfterNestedAttribute()
- {
- VerifyKeyword(
- @"class C {
- [foo]
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotInsideStruct()
- {
- VerifyAbsence(@"struct S {
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotInsideInterface()
- {
- VerifyAbsence(@"interface I {
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void InsideClass()
- {
- VerifyKeyword(
- @"class C {
- $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterPartial()
- {
- VerifyAbsence(@"partial $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterAbstract()
- {
- VerifyAbsence(@"abstract $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterInternal()
- {
- VerifyAbsence(@"internal $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterPublic()
- {
- VerifyAbsence(@"public $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterStaticInternal()
- {
- VerifyAbsence(@"static internal $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterInternalStatic()
- {
- VerifyAbsence(@"internal static $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterInvalidInternal()
- {
- VerifyAbsence(@"virtual internal $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterClass()
- {
- VerifyAbsence(@"class $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterPrivate()
- {
- VerifyAbsence(@"private $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterProtected()
- {
- VerifyAbsence(@"protected $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterSealed()
- {
- VerifyAbsence(@"sealed $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterStatic()
- {
- VerifyAbsence(@"static $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void AfterNestedStatic()
- {
- VerifyKeyword(
- @"class C {
- static $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void AfterNestedInternal()
- {
- VerifyKeyword(
- @"class C {
- internal $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotAfterDelegate()
- {
- VerifyAbsence(@"delegate $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void AfterNestedAbstract()
- {
- VerifyKeyword(
- @"class C {
- abstract $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void AfterNestedVirtual()
- {
- VerifyKeyword(
- @"class C {
- virtual $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void AfterNestedOverride()
- {
- VerifyKeyword(
- @"class C {
- override $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void AfterNestedSealed()
- {
- VerifyKeyword(
- @"class C {
- sealed $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void InProperty()
- {
- VerifyKeyword(
- @"class C {
- int Foo { $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void InPropertyAfterAccessor()
- {
- VerifyKeyword(
- @"class C {
- int Foo { get; $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotInPropertyAfterAccessibility()
- {
- VerifyAbsence(
- @"class C {
- int Foo { get; protected $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void InPropertyAfterInternal()
- {
- VerifyKeyword(
- @"class C {
- int Foo { get; internal $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void InIndexer()
- {
- VerifyKeyword(
- @"class C {
- int this[int i] { $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void InIndexerAfterAccessor()
- {
- VerifyKeyword(
- @"class C {
- int this[int i] { get { } $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void NotInIndexerAfterAccessibility()
- {
- VerifyAbsence(
- @"class C {
- int this[int i] { get { } protected $$");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
- public void InIndexerAfterInternal()
- {
- VerifyKeyword(
- @"class C {
- int this[int i] { get { } internal $$");
- }
- }
- }