/src/EditorFeatures/CSharpTest/Diagnostics/GenerateVariable/GenerateVariableTests.cs
https://gitlab.com/sharadag/Roslyn · C# · 1245 lines · 1104 code · 138 blank · 3 comment · 0 complexity · 57bc17849f89af78045826d4c080a4e1 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 System;
- using System.Collections.Generic;
- using System.Threading.Tasks;
- using Microsoft.CodeAnalysis.CodeActions;
- using Microsoft.CodeAnalysis.CodeFixes;
- using Microsoft.CodeAnalysis.CSharp.CodeFixes.GenerateVariable;
- using Microsoft.CodeAnalysis.CSharp.CodeStyle;
- using Microsoft.CodeAnalysis.Diagnostics;
- using Microsoft.CodeAnalysis.Options;
- using Roslyn.Test.Utilities;
- using Xunit;
- namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.Diagnostics.GenerateVariable
- {
- public class GenerateVariableTests : AbstractCSharpDiagnosticProviderBasedUserDiagnosticTest
- {
- internal override Tuple<DiagnosticAnalyzer, CodeFixProvider> CreateDiagnosticProviderAndFixer(Workspace workspace)
- {
- return new Tuple<DiagnosticAnalyzer, CodeFixProvider>(
- null, new GenerateVariableCodeFixProvider());
- }
- protected override IList<CodeAction> MassageActions(IList<CodeAction> actions)
- {
- return FlattenActions(actions);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestSimpleLowercaseIdentifier1()
- {
- await TestAsync(
- @"class Class { void Method() { [|foo|]; } }",
- @"class Class { private object foo; void Method() { foo; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestSimpleLowercaseIdentifier2()
- {
- await TestAsync(
- @"class Class { void Method() { [|foo|]; } }",
- @"class Class { private readonly object foo; void Method() { foo; } }",
- index: 1);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestTestSimpleLowercaseIdentifier3()
- {
- await TestAsync(
- @"class Class { void Method() { [|foo|]; } }",
- @"class Class { public object foo { get; private set; } void Method() { foo; } }",
- index: 2);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestSimpleUppercaseIdentifier1()
- {
- await TestAsync(
- @"class Class { void Method() { [|Foo|]; } }",
- @"class Class { public object Foo { get; private set; } void Method() { Foo; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestSimpleUppercaseIdentifier2()
- {
- await TestAsync(
- @"class Class { void Method() { [|Foo|]; } }",
- @"class Class { private object Foo; void Method() { Foo; } }",
- index: 1);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestSimpleUppercaseIdentifier3()
- {
- await TestAsync(
- @"class Class { void Method() { [|Foo|]; } }",
- @"class Class { private readonly object Foo; void Method() { Foo; } }",
- index: 2);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestSimpleRead1()
- {
- await TestAsync(
- @"class Class { void Method(int i) { Method([|foo|]); } }",
- @"class Class { private int foo; void Method(int i) { Method(foo); } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestSimpleWriteCount()
- {
- await TestExactActionSetOfferedAsync(
- @"class Class { void Method(int i) { [|foo|] = 1; } }",
- new[] { string.Format(FeaturesResources.GenerateFieldIn, "foo", "Class"), string.Format(FeaturesResources.GeneratePropertyIn, "foo", "Class"), string.Format(FeaturesResources.GenerateLocal, "foo") });
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestSimpleWrite1()
- {
- await TestAsync(
- @"class Class { void Method(int i) { [|foo|] = 1; } }",
- @"class Class { private int foo; void Method(int i) { foo = 1; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestSimpleWrite2()
- {
- await TestAsync(
- @"class Class { void Method(int i) { [|foo|] = 1; } }",
- @"class Class { public int foo{ get; private set; } void Method(int i) { foo = 1; } }",
- index: 1);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestInRefCodeActionCount()
- {
- await TestExactActionSetOfferedAsync(
- @"class Class { void Method(ref int i) { Method(ref [|foo|]); } }",
- new[] { string.Format(FeaturesResources.GenerateFieldIn, "foo", "Class"), string.Format(FeaturesResources.GenerateLocal, "foo") });
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestInRef1()
- {
- await TestAsync(
- @"class Class { void Method(ref int i) { Method(ref [|foo|]); } }",
- @"class Class { private int foo; void Method(ref int i) { Method(ref foo); } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestInOutCodeActionCount()
- {
- await TestExactActionSetOfferedAsync(
- @"class Class { void Method(out int i) { Method(out [|foo|]); } }",
- new[] { string.Format(FeaturesResources.GenerateFieldIn, "foo", "Class"), string.Format(FeaturesResources.GenerateLocal, "foo") });
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestInOut1()
- {
- await TestAsync(
- @"class Class { void Method(out int i) { Method(out [|foo|]); } }",
- @"class Class { private int foo; void Method(out int i) { Method(out foo); } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateInStaticMember1()
- {
- await TestAsync(
- @"class Class { static void Method() { [|foo|]; } }",
- @"class Class { private static object foo; static void Method() { foo; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateInStaticMember2()
- {
- await TestAsync(
- @"class Class { static void Method() { [|foo|]; } }",
- @"class Class { private static readonly object foo; static void Method() { foo; } }",
- index: 1);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateInStaticMember3()
- {
- await TestAsync(
- @"class Class { static void Method() { [|foo|]; } }",
- @"class Class { public static object foo { get; private set; } static void Method() { foo; } }",
- index: 2);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateOffInstance1()
- {
- await TestAsync(
- @"class Class { void Method() { this.[|foo|]; } }",
- @"class Class { private object foo; void Method() { this.foo; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateOffInstance2()
- {
- await TestAsync(
- @"class Class { void Method() { this.[|foo|]; } }",
- @"class Class { private readonly object foo; void Method() { this.foo; } }",
- index: 1);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateOffInstance3()
- {
- await TestAsync(
- @"class Class { void Method() { this.[|foo|]; } }",
- @"class Class { public object foo { get; private set; } void Method() { this.foo; } }",
- index: 2);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateOffWrittenInstance1()
- {
- await TestAsync(
- @"class Class { void Method() { this.[|foo|] = 1; } }",
- @"class Class { private int foo; void Method() { this.foo = 1; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateOffWrittenInstance2()
- {
- await TestAsync(
- @"class Class { void Method() { this.[|foo|] = 1; } }",
- @"class Class { public int foo { get; private set; } void Method() { this.foo = 1; } }",
- index: 1);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateOffStatic1()
- {
- await TestAsync(
- @"class Class { void Method() { Class.[|foo|]; } }",
- @"class Class { private static object foo; void Method() { Class.foo; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateOffStatic2()
- {
- await TestAsync(
- @"class Class { void Method() { Class.[|foo|]; } }",
- @"class Class { private static readonly object foo; void Method() { Class.foo; } }",
- index: 1);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateOffStatic3()
- {
- await TestAsync(
- @"class Class { void Method() { Class.[|foo|]; } }",
- @"class Class { public static object foo { get; private set; } void Method() { Class.foo; } }",
- index: 2);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateOffWrittenStatic1()
- {
- await TestAsync(
- @"class Class { void Method() { Class.[|foo|] = 1; } }",
- @"class Class { private static int foo; void Method() { Class.foo = 1; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateOffWrittenStatic2()
- {
- await TestAsync(
- @"class Class { void Method() { Class.[|foo|] = 1; } }",
- @"class Class { public static int foo { get; private set; } void Method() { Class.foo = 1; } }",
- index: 1);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateInstanceIntoSibling1()
- {
- await TestAsync(
- @"class Class { void Method() { new D().[|foo|]; } } class D { }",
- @"class Class { void Method() { new D().foo; } } class D { internal object foo; }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateInstanceIntoOuter1()
- {
- await TestAsync(
- @"class Outer { class Class { void Method() { new Outer().[|foo|]; } } }",
- @"class Outer { private object foo; class Class { void Method() { new Outer().foo; } } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateInstanceIntoDerived1()
- {
- await TestAsync(
- @"class Class : Base { void Method(Base b) { b.[|foo|]; } } class Base { }",
- @"class Class : Base { void Method(Base b) { b.foo; } } class Base { internal object foo; }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateStaticIntoDerived1()
- {
- await TestAsync(
- @"class Class : Base { void Method(Base b) { Base.[|foo|]; } } class Base { }",
- @"class Class : Base { void Method(Base b) { Base.foo; } } class Base { protected static object foo; }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateIntoInterfaceFixCount()
- {
- await TestActionCountAsync(
- @"class Class { void Method(I i) { i.[|foo|]; } } interface I { }",
- count: 2);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateIntoInterface1()
- {
- await TestAsync(
- @"class Class { void Method(I i) { i.[|Foo|]; } } interface I { }",
- @"class Class { void Method(I i) { i.Foo; } } interface I { object Foo { get; set; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateIntoInterface2()
- {
- await TestAsync(
- @"class Class { void Method(I i) { i.[|Foo|]; } } interface I { }",
- @"class Class { void Method(I i) { i.Foo; } } interface I { object Foo { get; } }",
- index: 1);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateStaticIntoInterfaceMissing()
- {
- await TestMissingAsync(
- @"class Class { void Method(I i) { I.[|Foo|]; } } interface I { }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateWriteIntoInterfaceFixCount()
- {
- await TestActionCountAsync(
- @"class Class { void Method(I i) { i.[|Foo|] = 1; } } interface I { }",
- count: 1);
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateWriteIntoInterface1()
- {
- await TestAsync(
- @"class Class { void Method(I i) { i.[|Foo|] = 1; } } interface I { }",
- @"class Class { void Method(I i) { i.Foo = 1; } } interface I { int Foo { get; set; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateInGenericType()
- {
- await TestAsync(
- @"class Class<T> { void Method(T t) { [|foo|] = t; } }",
- @"class Class<T> { private T foo; void Method(T t) { foo = t; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateInGenericMethod1()
- {
- await TestAsync(
- @"class Class { void Method<T>(T t) { [|foo|] = t; } }",
- @"class Class { private object foo; void Method<T>(T t) { foo = t; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateInGenericMethod2()
- {
- await TestAsync(
- @"class Class { void Method<T>(IList<T> t) { [|foo|] = t; } }",
- @"class Class { private IList<object> foo; void Method<T>(IList<T> t) { foo = t; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateFieldBeforeFirstField()
- {
- await TestAsync(
- @"class Class { int i; void Method() { [|foo|]; } }",
- @"class Class { private object foo; int i; void Method() { foo; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateFieldAfterLastField()
- {
- await TestAsync(
- @"class Class { void Method() { [|foo|]; } int i; }",
- @"class Class { void Method() { foo; } int i; private object foo; }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGeneratePropertyAfterLastField1()
- {
- await TestAsync(
- @"class Class { int Bar; void Method() { [|Foo|]; } }",
- @"class Class { int Bar; public object Foo { get; private set; } void Method() { Foo; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGeneratePropertyAfterLastField2()
- {
- await TestAsync(
- @"class Class { void Method() { [|Foo|]; } int Bar; }",
- @"class Class { void Method() { Foo; } int Bar; public object Foo { get; private set; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGeneratePropertyBeforeFirstProperty()
- {
- await TestAsync(
- @"class Class { int Quux { get; } void Method() { [|Foo|]; } }",
- @"class Class { public object Foo { get; private set; } int Quux { get; } void Method() { Foo; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGeneratePropertyBeforeFirstPropertyEvenWithField1()
- {
- await TestAsync(
- @"class Class { int Bar; int Quux { get; } void Method() { [|Foo|]; } }",
- @"class Class { int Bar; public object Foo { get; private set; } int Quux { get; } void Method() { Foo; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGeneratePropertyAfterLastPropertyEvenWithField2()
- {
- await TestAsync(
- @"class Class { int Quux { get; } int Bar; void Method() { [|Foo|]; } }",
- @"class Class { int Quux { get; } public object Foo { get; private set; } int Bar; void Method() { Foo; } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMissingInInvocation()
- {
- await TestMissingAsync(
- @"class Class { void Method() { [|Foo|](); } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMissingInObjectCreation()
- {
- await TestMissingAsync(
- @"class Class { void Method() { new [|Foo|](); } }");
- }
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMissingInTypeDeclaration()
- {
- await TestMissingAsync(
- @"class Class { void Method() { [|A|] a; } }");
- await TestMissingAsync(
- @"class Class { void Method() { [|A.B|] a; } }");
- await TestMissingAsync(
- @"class Class { void Method() { [|A|].B a; } }");
- await TestMissingAsync(
- @"class Class { void Method() { A.[|B|] a; } }");
- await TestMissingAsync(
- @"class Class { void Method() { [|A.B.C|] a; } }");
- await TestMissingAsync(
- @"class Class { void Method() { [|A.B|].C a; } }");
- await TestMissingAsync(
- @"class Class { void Method() { A.B.[|C|] a; } }");
- await TestMissingAsync(
- @"class Class { void Method() { [|A|].B.C a; } }");
- await TestMissingAsync(
- @"class Class { void Method() { A.[|B|].C a; } }");
- }
- [WorkItem(539336, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539336")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMissingInAttribute()
- {
- await TestMissingAsync(
- @"[[|A|]]class Class { }");
- await TestMissingAsync(
- @"[[|A.B|]]class Class { }");
- await TestMissingAsync(
- @"[[|A|].B]class Class { }");
- await TestMissingAsync(
- @"[A.[|B|]]class Class { }");
- await TestMissingAsync(
- @"[[|A.B.C|]]class Class { }");
- await TestMissingAsync(
- @"[[|A.B|].C]class Class { }");
- await TestMissingAsync(
- @"[A.B.[|C|]]class Class { }");
- await TestMissingAsync(
- @"[[|A|].B.C]class Class { }");
- await TestMissingAsync(
- @"[A.B.[|C|]]class Class { }");
- }
- [WorkItem(539340, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539340")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestSpansField()
- {
- await TestSpansAsync(
- @"class C { void M() { this.[|Foo|] }",
- @"class C { void M() { this.[|Foo|] }");
- await TestSpansAsync(
- @"class C { void M() { this.[|Foo|]; }",
- @"class C { void M() { this.[|Foo|]; }");
- await TestSpansAsync(
- @"class C { void M() { this.[|Foo|] = 1 }",
- @"class C { void M() { this.[|Foo|] = 1 }");
- await TestSpansAsync(
- @"class C { void M() { this.[|Foo|] = 1 + 2 }",
- @"class C { void M() { this.[|Foo|] = 1 + 2 }");
- await TestSpansAsync(
- @"class C { void M() { this.[|Foo|] = 1 + 2; }",
- @"class C { void M() { this.[|Foo|] = 1 + 2; }");
- await TestSpansAsync(
- @"class C { void M() { this.[|Foo|] += Bar() }",
- @"class C { void M() { this.[|Foo|] += Bar() }");
- await TestSpansAsync(
- @"class C { void M() { this.[|Foo|] += Bar(); }",
- @"class C { void M() { this.[|Foo|] += Bar(); }");
- }
- [WorkItem(539427, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539427")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateFromLambda()
- {
- await TestAsync(
- @"class Class { void Method(int i) { [|foo|] = () => { return 2 }; } }",
- @"using System; class Class { private Func<int> foo; void Method(int i) { foo = () => { return 2 }; } }");
- }
- // TODO: Move to TypeInferrer.InferTypes, or something
- [WorkItem(539466, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539466")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateInMethodOverload1()
- {
- await TestAsync(
- @"class Class { void Method(int i) { System.Console.WriteLine([|foo|]); } }",
- @"class Class { private bool foo; void Method(int i) { System.Console.WriteLine(foo); } }");
- }
- // TODO: Move to TypeInferrer.InferTypes, or something
- [WorkItem(539466, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539466")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateInMethodOverload2()
- {
- await TestAsync(
- @"class Class { void Method(int i) { System.Console.WriteLine(this.[|foo|]); } }",
- @"class Class { private bool foo; void Method(int i) { System.Console.WriteLine(this.foo); } }");
- }
- [WorkItem(539468, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539468")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestExplicitProperty1()
- {
- await TestAsync(
- @"class Class : ITest { bool ITest.[|SomeProp|] { get; set; } } interface ITest { }",
- @"class Class : ITest { bool ITest.SomeProp { get; set; } } interface ITest { bool SomeProp { get; set; } }");
- }
- [WorkItem(539468, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539468")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestExplicitProperty2()
- {
- await TestAsync(
- @"class Class : ITest { bool ITest.[|SomeProp|] { } } interface ITest { }",
- @"class Class : ITest { bool ITest.SomeProp { } } interface ITest { bool SomeProp { get; set; } }");
- }
- [WorkItem(539468, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539468")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestExplicitProperty3()
- {
- await TestAsync(
- @"class Class : ITest { bool ITest.[|SomeProp|] { } } interface ITest { }",
- @"class Class : ITest { bool ITest.SomeProp { } } interface ITest { bool SomeProp { get; } }",
- index: 1);
- }
- [WorkItem(539468, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539468")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestExplicitProperty4()
- {
- await TestMissingAsync(
- @"class Class { bool ITest.[|SomeProp|] { } } interface ITest { }");
- }
- [WorkItem(539468, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539468")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestExplicitProperty5()
- {
- await TestMissingAsync(
- @"class Class : ITest { bool ITest.[|SomeProp|] { } } interface ITest { bool SomeProp { get; } }");
- }
- [WorkItem(539489, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539489")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestEscapedName()
- {
- await TestAsync(
- @"class Class { void Method() { [|@foo|]; } }",
- @"class Class { private object foo; void Method() { @foo; } }");
- }
- [WorkItem(539489, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539489")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestEscapedKeyword()
- {
- await TestAsync(
- @"class Class { void Method() { [|@int|]; } }",
- @"class Class { private object @int; void Method() { @int; } }");
- }
- [WorkItem(539529, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539529")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestRefLambda()
- {
- await TestAsync(
- @"class Class { void Method() { [|test|] = (ref int x) => x = 10; } }",
- @"class Class { private object test; void Method() { test = (ref int x) => x = 10; } }");
- }
- [WorkItem(539595, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539595")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestNotOnError()
- {
- await TestMissingAsync(
- @"class Class { void F<U,V>(U u1, V v1) { Foo<string,int>([|u1|], u2); } }");
- }
- [WorkItem(539571, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539571")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestNameSimplification()
- {
- await TestAsync(
- @"namespace TestNs { class Program { class Test { void Meth ( ) { Program . [|blah|] = new Test ( ) ; } } } } ",
- @"namespace TestNs { class Program { private static Test blah ; class Test { void Meth ( ) { Program . blah = new Test ( ) ; } } } } ");
- }
- [WorkItem(539717, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539717")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestPostIncrement()
- {
- await TestAsync(
- @"class Program { static void Main ( string [ ] args ) { [|i|] ++ ; } } ",
- @"class Program { private static int i ; static void Main ( string [ ] args ) { i ++ ; } } ");
- }
- [WorkItem(539717, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539717")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestPreDecrement()
- {
- await TestAsync(
- @"class Program { static void Main ( string [ ] args ) { -- [|i|] ; } } ",
- @"class Program { private static int i ; static void Main ( string [ ] args ) { -- i ; } } ");
- }
- [WorkItem(539738, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539738")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateIntoScript()
- {
- await TestAsync(
- @"using C ; static class C { } C . [|i|] ++ ; ",
- @"using C ; static class C { internal static int i ; } C . i ++ ; ",
- parseOptions: Options.Script);
- }
- [WorkItem(539558, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539558")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task BugFix5565()
- {
- await TestAsync(
- @"using System;
- using System.Collections.Generic;
- using System.Linq;
- class Program
- {
- static void Main(string[] args)
- {
- [|Foo|]#();
- }
- }",
- @"using System;
- using System.Collections.Generic;
- using System.Linq;
- class Program
- {
- public static object Foo { get; private set; }
- static void Main(string[] args)
- {
- Foo#();
- }
- }",
- compareTokens: false);
- }
- [WorkItem(539536, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539536")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task BugFix5538()
- {
- await TestAsync(
- @"using System ; using System . Collections . Generic ; using System . Linq ; class Program { static void Main ( string [ ] args ) { new ( [|foo|] ) ( ) ; } } ",
- @"using System ; using System . Collections . Generic ; using System . Linq ; class Program { public static object foo { get ; private set ; } static void Main ( string [ ] args ) { new ( foo ) ( ) ; } } ",
- index: 2);
- }
- [WorkItem(539665, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539665")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task BugFix5697()
- {
- await TestAsync(
- @"class C { }
- class D
- {
- void M()
- {
- C.[|P|] = 10;
- }
- }
- ",
- @"class C
- {
- public static int P { get; internal set; }
- }
- class D
- {
- void M()
- {
- C.P = 10;
- }
- }
- ",
- compareTokens: false);
- }
- [WorkItem(539793, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539793")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestIncrement()
- {
- await TestExactActionSetOfferedAsync(
- @"class Program { static void Main ( ) { [|p|] ++ ; } } ",
- new[] { string.Format(FeaturesResources.GenerateFieldIn, "p", "Program"), string.Format(FeaturesResources.GeneratePropertyIn, "p", "Program"), string.Format(FeaturesResources.GenerateLocal, "p") });
- await TestAsync(
- @"class Program { static void Main ( ) { [|p|] ++ ; } } ",
- @"class Program { private static int p ; static void Main ( ) { p ++ ; } } ");
- }
- [WorkItem(539834, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539834")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateType)]
- public async Task TestNotInGoto()
- {
- await TestMissingAsync(
- @"class Program { static void Main ( ) { goto [|foo|] ; } } ");
- }
- [WorkItem(539826, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539826")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestOnLeftOfDot()
- {
- await TestAsync(
- @"class Program { static void Main ( ) { [|foo|] . ToString ( ) ; } } ",
- @"class Program { private static object foo ; static void Main ( ) { foo . ToString ( ) ; } } ");
- }
- [WorkItem(539840, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539840")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestNotBeforeAlias()
- {
- await TestMissingAsync(
- @"using System ; using System . Collections . Generic ; using System . Linq ; class Program { static void Main ( string [ ] args ) { [|global|] :: System . String s ; } } ");
- }
- [WorkItem(539871, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539871")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMissingOnGenericName()
- {
- await TestMissingAsync(
- @"class C < T > { public delegate void Foo < R > ( R r ) ; static void M ( ) { Foo < T > r = [|Goo < T >|] ; } } ");
- }
- [WorkItem(539934, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539934")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestOnDelegateAddition()
- {
- await TestAsync(
- @"class C { delegate void D ( ) ; void M ( ) { D d = [|M1|] + M2 ; } } ",
- @"class C { private D M1 { get ; set ; } delegate void D ( ) ; void M ( ) { D d = M1 + M2 ; } } ",
- parseOptions: null);
- }
- [WorkItem(539986, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539986")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestReferenceTypeParameter1()
- {
- await TestAsync(
- @"class C < T > { public void Test ( ) { C < T > c = A . [|M|] ; } } class A { } ",
- @"class C < T > { public void Test ( ) { C < T > c = A . M ; } } class A { public static C < object > M { get ; internal set ; } } ");
- }
- [WorkItem(539986, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539986")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestReferenceTypeParameter2()
- {
- await TestAsync(
- @"class C < T > { public void Test ( ) { C < T > c = A . [|M|] ; } class A { } } ",
- @"class C < T > { public void Test ( ) { C < T > c = A . M ; } class A { public static C < T > M { get ; internal set ; } } } ");
- }
- [WorkItem(540159, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/540159")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestEmptyIdentifierName()
- {
- await TestMissingAsync(
- @"class C { static void M ( ) { int i = [|@|] } } ");
- await TestMissingAsync(
- @"class C { static void M ( ) { int i = [|@ |]} } ");
- }
- [WorkItem(541194, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541194")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestForeachVar()
- {
- await TestAsync(
- @"class C { void M ( ) { foreach ( var v in [|list|] ) { } } } ",
- @"using System.Collections.Generic; class C { private IEnumerable < object > list ; void M ( ) { foreach ( var v in list ) { } } } ");
- }
- [WorkItem(541265, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541265")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestExtensionMethodUsedAsInstance()
- {
- await TestAsync(
- @"using System ; class C { public static void Main ( ) { string s = ""Hello"" ; [|f|] = s . ExtensionMethod ; } } public static class MyExtension { public static int ExtensionMethod ( this String s ) { return s . Length ; } } ",
- @"using System ; class C { private static Func < int > f ; public static void Main ( ) { string s = ""Hello"" ; f = s . ExtensionMethod ; } } public static class MyExtension { public static int ExtensionMethod ( this String s ) { return s . Length ; } } ",
- parseOptions: null);
- }
- [WorkItem(541549, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541549")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestDelegateInvoke()
- {
- await TestAsync(
- @"using System ; class Program { static void Main ( string [ ] args ) { Func < int , int > f = x => x + 1 ; f ( [|x|] ) ; } } ",
- @"using System ; class Program { private static int x ; static void Main ( string [ ] args ) { Func < int , int > f = x => x + 1 ; f ( x ) ; } } ");
- }
- [WorkItem(541597, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541597")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestComplexAssign1()
- {
- await TestAsync(
- @"class Program { static void Main ( string [ ] args ) { [|a|] = a + 10 ; } } ",
- @"class Program { private static int a ; static void Main ( string [ ] args ) { a = a + 10 ; } } ");
- }
- [WorkItem(541597, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541597")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestComplexAssign2()
- {
- await TestAsync(
- @"class Program { static void Main ( string [ ] args ) { a = [|a|] + 10 ; } } ",
- @"class Program { private static int a ; static void Main ( string [ ] args ) { a = a + 10 ; } } ");
- }
- [WorkItem(541659, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541659")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestTypeNamedVar()
- {
- await TestAsync(
- @"using System ; class Program { public static void Main ( ) { var v = [|p|] ; } } class var { } ",
- @"using System ; class Program { private static var p ; public static void Main ( ) { var v = p ; } } class var { } ");
- }
- [WorkItem(541675, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541675")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestStaticExtensionMethodArgument()
- {
- await TestAsync(
- @"using System ; class Program { static void Main ( string [ ] args ) { MyExtension . ExMethod ( [|ss|] ) ; } } static class MyExtension { public static int ExMethod ( this string s ) { return s . Length ; } } ",
- @"using System ; class Program { private static string ss ; static void Main ( string [ ] args ) { MyExtension . ExMethod ( ss ) ; } } static class MyExtension { public static int ExMethod ( this string s ) { return s . Length ; } } ");
- }
- [WorkItem(539675, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539675")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task AddBlankLineBeforeCommentBetweenMembers1()
- {
- await TestAsync(
- @"class Program
- {
- //method
- static void Main(string[] args)
- {
- [|P|] = 10;
- }
- }",
- @"class Program
- {
- public static int P { get; private set; }
- //method
- static void Main(string[] args)
- {
- P = 10;
- }
- }",
- compareTokens: false);
- }
- [WorkItem(539675, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539675")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task AddBlankLineBeforeCommentBetweenMembers2()
- {
- await TestAsync(
- @"class Program
- {
- //method
- static void Main(string[] args)
- {
- [|P|] = 10;
- }
- }",
- @"class Program
- {
- private static int P;
- //method
- static void Main(string[] args)
- {
- P = 10;
- }
- }",
- index: 1,
- compareTokens: false);
- }
- [WorkItem(543813, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/543813")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task AddBlankLineBetweenMembers1()
- {
- await TestAsync(
- @"class Program
- {
- static void Main(string[] args)
- {
- [|P|] = 10;
- }
- }",
- @"class Program
- {
- private static int P;
- static void Main(string[] args)
- {
- P = 10;
- }
- }",
- index: 1,
- compareTokens: false);
- }
- [WorkItem(543813, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/543813")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task AddBlankLineBetweenMembers2()
- {
- await TestAsync(
- @"class Program
- {
- static void Main(string[] args)
- {
- [|P|] = 10;
- }
- }",
- @"class Program
- {
- public static int P { get; private set; }
- static void Main(string[] args)
- {
- P = 10;
- }
- }",
- index: 0,
- compareTokens: false);
- }
- [WorkItem(543813, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/543813")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task DontAddBlankLineBetweenFields()
- {
- await TestAsync(
- @"class Program
- {
- private static int P;
- static void Main(string[] args)
- {
- P = 10;
- [|A|] = 9;
- }
- }",
- @"class Program
- {
- private static int A;
- private static int P;
- static void Main(string[] args)
- {
- P = 10;
- A = 9;
- }
- }",
- index: 1,
- compareTokens: false);
- }
- [WorkItem(543813, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/543813")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task DontAddBlankLineBetweenAutoProperties()
- {
- await TestAsync(
- @"class Program
- {
- public static int P { get; private set; }
- static void Main(string[] args)
- {
- P = 10;
- [|A|] = 9;
- }
- }",
- @"class Program
- {
- public static int A { get; private set; }
- public static int P { get; private set; }
- static void Main(string[] args)
- {
- P = 10;
- A = 9;
- }
- }",
- index: 0,
- compareTokens: false);
- }
- [WorkItem(539665, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539665")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestIntoEmptyClass()
- {
- await TestAsync(
- @"class C { }
- class D
- {
- void M()
- {
- C.[|P|] = 10;
- }
- }",
- @"class C
- {
- public static int P { get; internal set; }
- }
- class D
- {
- void M()
- {
- C.P = 10;
- }
- }",
- compareTokens: false);
- }
- [WorkItem(540595, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/540595")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGeneratePropertyInScript()
- {
- await TestAsync(
- @"[|Foo|]",
- @"object Foo { get; private set; }
- Foo",
- parseOptions: Options.Script,
- compareTokens: false);
- }
- [WorkItem(542535, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/542535")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestConstantInParameterValue()
- {
- const string Initial = @"class C { const int y = 1 ; public void Foo ( bool x = [|undeclared|] ) { } } ";
- await TestActionCountAsync(
- Initial,
- count: 1);
- await TestAsync(
- Initial,
- @"class C { private const bool undeclared ; const int y = 1 ; public void Foo ( bool x = undeclared ) { } } ");
- }
- [WorkItem(542900, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/542900")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateFromAttributeNamedArgument1()
- {
- await TestAsync(
- @"using System ; class ProgramAttribute : Attribute { [ Program ( [|Name|] = 0 ) ] static void Main ( string [ ] args ) { } } ",
- @"using System ; class ProgramAttribute : Attribute { public int Name { get ; set ; } [ Program ( Name = 0 ) ] static void Main ( string [ ] args ) { } } ");
- }
- [WorkItem(542900, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/542900")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestGenerateFromAttributeNamedArgument2()
- {
- await TestAsync(
- @"using System ; class ProgramAttribute : Attribute { [ Program ( [|Name|] = 0 ) ] static void Main ( string [ ] args ) { } } ",
- @"using System ; class ProgramAttribute : Attribute { public int Name ; [ Program ( Name = 0 ) ] static void Main ( string [ ] args ) { } } ",
- index: 1);
- }
- [WorkItem(541698, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541698")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMinimalAccessibility1_InternalPrivate()
- {
- await TestAsync(
- @"class Program { public static void Main ( ) { C c = [|P|] ; } private class C { } } ",
- @"class Program { private static C P { get ; set ; } public static void Main ( ) { C c = P ; } private class C { } } ",
- parseOptions: null);
- }
- [WorkItem(541698, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541698")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMinimalAccessibility2_InternalProtected()
- {
- await TestAsync(
- @"class Program { public static void Main ( ) { C c = [|P|] ; } protected class C { } } ",
- @"class Program { protected static C P { get ; private set ; } public static void Main ( ) { C c = P ; } protected class C { } } ",
- parseOptions: null);
- }
- [WorkItem(541698, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541698")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMinimalAccessibility3_InternalInternal()
- {
- await TestAsync(
- @"class Program { public static void Main ( ) { C c = [|P|] ; } internal class C { } } ",
- @"class Program { public static C P { get ; private set ; } public static void Main ( ) { C c = P ; } internal class C { } } ",
- parseOptions: null);
- }
- [WorkItem(541698, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541698")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMinimalAccessibility4_InternalProtectedInternal()
- {
- await TestAsync(
- @"class Program { public static void Main ( ) { C c = [|P|] ; } protected internal class C { } } ",
- @"class Program { public static C P { get ; private set ; } public static void Main ( ) { C c = P ; } protected internal class C { } } ",
- parseOptions: null);
- }
- [WorkItem(541698, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541698")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMinimalAccessibility5_InternalPublic()
- {
- await TestAsync(
- @"class Program { public static void Main ( ) { C c = [|P|] ; } public class C { } } ",
- @"class Program { public static C P { get ; private set ; } public static void Main ( ) { C c = P ; } public class C { } } ",
- parseOptions: null);
- }
- [WorkItem(541698, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541698")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMinimalAccessibility6_PublicInternal()
- {
- await TestAsync(
- @"public class Program { public static void Main ( ) { C c = [|P|] ; } internal class C { } } ",
- @"public class Program { internal static C P { get ; private set ; } public static void Main ( ) { C c = P ; } internal class C { } } ",
- parseOptions: null);
- }
- [WorkItem(541698, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541698")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMinimalAccessibility7_PublicProtectedInternal()
- {
- await TestAsync(
- @"public class Program { public static void Main ( ) { C c = [|P|] ; } protected internal class C { } } ",
- @"public class Program { protected internal static C P { get ; private set ; } public static void Main ( ) { C c = P ; } protected internal class C { } } ",
- parseOptions: null);
- }
- [WorkItem(541698, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541698")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMinimalAccessibility8_PublicProtected()
- {
- await TestAsync(
- @"public class Program { public static void Main ( ) { C c = [|P|] ; } protected class C { } } ",
- @"public class Program { protected static C P { get ; private set ; } public static void Main ( ) { C c = P ; } protected class C { } } ",
- parseOptions: null);
- }
- [WorkItem(541698, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541698")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMinimalAccessibility9_PublicPrivate()
- {
- await TestAsync(
- @"public class Program { public static void Main ( ) { C c = [|P|] ; } private class C { } } ",
- @"public class Program { private static C P { get ; set ; } public static void Main ( ) { C c = P ; } private class C { } } ",
- parseOptions: null);
- }
- [WorkItem(541698, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541698")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMinimalAccessibility10_PrivatePrivate()
- {
- await TestAsync(
- @"class outer { private class Program { public static void Main ( ) { C c = [|P|] ; } private class C { } } }",
- @"class outer { private class Program { public static C P { get ; private set ; } public static void Main ( ) { C c = P ; } private class C { } } }",
- parseOptions: null);
- }
- [WorkItem(541698, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541698")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMinimalAccessibility11_PrivateProtected()
- {
- await TestAsync(
- @"class outer { private class Program { public static void Main ( ) { C c = [|P|] ; } protected class C { } } }",
- @"class outer { private class Program { public static C P { get ; private set ; } public static void Main ( ) { C c = P ; } protected class C { } } }",
- parseOptions: null);
- }
- [WorkItem(541698, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/541698")]
- [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateVariable)]
- public async Task TestMinimalAccessibility12_PrivateProtectedInternal()
- {
- await TestAsync(
- @"class outer { private class Program { public static void Main ( ) { C c = [|P|] ; } protected internal class C { } }