IntoKeywordRecommenderTests.cs 4.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
// 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 Xunit;

namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.Recommendations
{
    public class IntoKeywordRecommenderTests : KeywordRecommenderTests
    {
12
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
13 14 15 16 17 18
        public void NotAtRoot_Interactive()
        {
            VerifyAbsence(SourceCodeKind.Script,
@"$$");
        }

19
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
20 21 22 23 24 25 26
        public void NotAfterClass_Interactive()
        {
            VerifyAbsence(SourceCodeKind.Script,
@"class C { }
$$");
        }

27
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
28 29 30 31 32 33 34
        public void NotAfterGlobalStatement_Interactive()
        {
            VerifyAbsence(SourceCodeKind.Script,
@"System.Console.WriteLine();
$$");
        }

35
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
36 37 38 39 40 41 42
        public void NotAfterGlobalVariableDeclaration_Interactive()
        {
            VerifyAbsence(SourceCodeKind.Script,
@"int i = 0;
$$");
        }

43
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
44 45 46 47 48 49
        public void NotInUsingAlias()
        {
            VerifyAbsence(
@"using Foo = $$");
        }

50
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
51 52 53 54 55 56
        public void NotInEmptyStatement()
        {
            VerifyAbsence(AddInsideMethod(
@"$$"));
        }

57
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
58 59 60 61 62 63 64
        public void AfterJoinRightExpr()
        {
            VerifyKeyword(AddInsideMethod(
@"var q = from x in y
          join a in e on o1 equals o2 $$"));
        }

65
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
66 67 68 69 70 71 72
        public void AfterJoinRightExpr_NotAfterInto()
        {
            VerifyAbsence(AddInsideMethod(
@"var q = from x in y
          join a.b c in o1 equals o2 into $$"));
        }

73
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
74 75 76 77 78 79 80
        public void NotAfterEquals()
        {
            VerifyAbsence(AddInsideMethod(
@"var q = from x in y
          join a.b c in o1 equals $$"));
        }

81
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
82 83 84 85 86 87 88 89
        public void AfterSelectClause()
        {
            VerifyKeyword(AddInsideMethod(
@"var q = from x in y
          select z
          $$"));
        }

90
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
91 92 93 94 95 96 97 98
        public void AfterSelectClause_NotAfterInto()
        {
            VerifyAbsence(AddInsideMethod(
@"var q = from x in y
          select z
          into $$"));
        }

99
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
100 101 102 103 104 105 106 107
        public void AfterGroupClause()
        {
            VerifyKeyword(AddInsideMethod(
@"var q = from x in y
          group z by w
          $$"));
        }

108
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
109 110 111 112 113 114 115 116
        public void AfterGroupClause_NotAfterInto()
        {
            VerifyAbsence(AddInsideMethod(
@"var q = from x in y
          group z by w
          into $$"));
        }

117
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
118 119 120 121 122 123 124
        public void NotAfterSelect()
        {
            VerifyAbsence(AddInsideMethod(
@"var q = from x in y
          select $$"));
        }

125
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
126 127 128 129 130 131 132
        public void NotAfterGroupKeyword()
        {
            VerifyAbsence(AddInsideMethod(
@"var q = from x in y
          group $$"));
        }

133
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
134 135 136 137 138 139 140
        public void NotAfterGroupExpression()
        {
            VerifyAbsence(AddInsideMethod(
@"var q = from x in y
          group x $$"));
        }

141
        [WpfFact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
142 143 144 145 146 147 148 149
        public void NotAfterGroupBy()
        {
            VerifyAbsence(AddInsideMethod(
@"var q = from x in y
          group x by $$"));
        }
    }
}