提交 fa691d12 编写于 作者: A Andrew Hall (METAL)

Update tests

上级 d9014b2d
......@@ -28,7 +28,7 @@ protected override TestWorkspace CreateWorkspaceFromFile(string initialMarkup, T
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveItems_CaretOnNamespaceName()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A[||]
{
class MyClass
......@@ -43,11 +43,30 @@ class MyClass
void Method() { }
}
}",
targetNamespace: "B");
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveItems_CaretOnNamespaceName2()
=> TestMoveToNamespaceAsync(
@"namespace A[||].B.C
{
class MyClass
{
void Method() { }
}
}",
expectedMarkup: @"namespace {|Warning:B|}
{
class MyClass
{
void Method() { }
}
}",
targetNamespace: "B");
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveItems_CaretOnNamespaceKeyword()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace[||] A
{
class MyClass
......@@ -62,11 +81,30 @@ class MyClass
void Method() { }
}
}",
targetNamespace: "B");
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveItems_CaretOnNamespaceKeyword2()
=> TestMoveToNamespaceAsync(
@"[||]namespace A
{
class MyClass
{
void Method() { }
}
}",
expectedMarkup: @"namespace {|Warning:B|}
{
class MyClass
{
void Method() { }
}
}",
targetNamespace: "B");
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveItems_MultipleDeclarations()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A[||]
{
class MyClass
......@@ -95,7 +133,7 @@ class MyOtherClass
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveItems_WithVariousSymbols()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A[||]
{
public delegate void MyDelegate();
......@@ -154,7 +192,7 @@ class MyOtherClass
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveItems_NestedNamespace()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A[||]
{
namespace C
......@@ -169,7 +207,7 @@ class MyClass
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveItems_NestedNamespace2()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A
{
namespace C[||]
......@@ -180,11 +218,25 @@ class MyClass
}
}
}",
expectedSuccess: false);
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveType_Nested()
=> TestMoveToNamespaceAsync(
@"namespace A
{
class MyClass
{
class NestedClass[||]
{
}
}
}",
expectedSuccess: false);
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveType_Single()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A
{
class MyClass[||]
......@@ -201,7 +253,7 @@ class MyClass
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveType_SingleTop()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A
{
class MyClass[||]
......@@ -229,7 +281,7 @@ class MyClass2
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveType_TopWithReference()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A
{
class MyClass[||] : IMyClass
......@@ -259,7 +311,7 @@ interface IMyClass
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveType_Bottom()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A
{
class MyClass
......@@ -287,7 +339,7 @@ class MyClass2
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveType_BottomReference()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A
{
class MyClass : IMyClass
......@@ -315,7 +367,7 @@ interface IMyClass
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveType_Middle()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A
{
class MyClass
......@@ -354,7 +406,7 @@ class MyClass3
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveType_MiddleReference()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A
{
class MyClass : IMyClass
......@@ -393,7 +445,7 @@ class MyClass3 : IMyClass
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveType_MiddleReference2()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A
{
class MyClass : IMyClass
......@@ -442,7 +494,7 @@ class MyClass4
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveType_NestedInNamespace()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A
{
class MyClass
......@@ -500,7 +552,7 @@ class MyClass2 : B.IMyClass
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveType_MiddleReference_ComplexName()
=> TestMoveToNamespaceViaCommandAsync(
=> TestMoveToNamespaceAsync(
@"namespace A.B.C
{
class MyClass : IMyClass
......@@ -546,5 +598,103 @@ class MyClass4
}
}",
targetNamespace: "My.New.Namespace");
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveType_MiddleReference_ComplexName2()
=> TestMoveToNamespaceAsync(
@"namespace A
{
class MyClass : IMyClass
{
}
interface IMyClass
{
}
class [||]MyClass3 : IMyClass
{
}
class MyClass4
{
}
}",
expectedMarkup: @"using A;
namespace A
{
class MyClass : IMyClass
{
}
interface IMyClass
{
}
}
namespace {|Warning:My.New.Namespace|}
{
class MyClass3 : IMyClass
{
}
}
namespace A
{
class MyClass4
{
}
}",
targetNamespace: "My.New.Namespace");
[WpfFact, Trait(Traits.Feature, Traits.Features.MoveToNamespace)]
public Task MoveToNamespace_MoveType_MiddleReference_ComplexName3()
=> TestMoveToNamespaceAsync(
@"namespace A.B.C
{
class MyClass : IMyClass
{
}
interface IMyClass
{
}
class [||]MyClass3 : IMyClass
{
}
class MyClass4
{
}
}",
expectedMarkup: @"using A.B.C;
namespace A.B.C
{
class MyClass : IMyClass
{
}
interface IMyClass
{
}
}
namespace {|Warning:B|}
{
class MyClass3 : IMyClass
{
}
}
namespace A.B.C
{
class MyClass4
{
}
}",
targetNamespace: "B");
}
}
......@@ -26,7 +26,6 @@ public void Dispose()
public TestHostDocument TestInvocationDocument => Workspace.Documents.Single();
public Document InvocationDocument => Workspace.CurrentSolution.GetDocument(TestInvocationDocument.Id);
public TestMoveToNamespaceOptionsService TestMoveToNamespaceOptionsService
=> (TestMoveToNamespaceOptionsService)Workspace.Services.GetService<IMoveToNamespaceOptionsService>();
......
......@@ -15,7 +15,7 @@ public abstract partial class AbstractMoveToNamespaceTests : AbstractCodeActionT
protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, TestParameters parameters)
=> new MoveToNamespaceCodeActionProvider();
public async Task TestMoveToNamespaceViaCommandAsync(
public async Task TestMoveToNamespaceAsync(
string markup,
bool expectedSuccess = true,
string expectedMarkup = null,
......@@ -24,7 +24,7 @@ protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspa
bool optionCancelled = false
)
{
testParameters = testParameters ?? new TestParameters();
testParameters ??= new TestParameters();
var moveToNamespaceOptions = TestMoveToNamespaceOptionsService.DefaultOptions;
......@@ -38,14 +38,12 @@ protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspa
}
var workspace = CreateWorkspaceFromFile(markup, testParameters.Value);
using (var testState = new TestState(workspace))
using var testState = new TestState(workspace);
testState.TestMoveToNamespaceOptionsService.SetOptions(moveToNamespaceOptions);
if (expectedSuccess)
{
testState.TestMoveToNamespaceOptionsService.SetOptions(moveToNamespaceOptions);
if (expectedSuccess && !optionCancelled)
{
await TestInRegularAndScriptAsync(markup, expectedMarkup);
}
else if (optionCancelled)
if (optionCancelled)
{
var actions = await testState.MoveToNamespaceService.GetCodeActionsAsync(
testState.InvocationDocument,
......@@ -61,14 +59,20 @@ protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspa
var operations = await task;
Assert.Empty(operations);
}
}
else
{
await TestMissingInRegularAndScriptAsync(markup, parameters: testParameters.Value);
await TestInRegularAndScriptAsync(markup, expectedMarkup);
}
}
else
{
await TestMissingInRegularAndScriptAsync(markup, parameters: testParameters.Value);
}
}
public Task TestCancelledOption(string markup) => TestMoveToNamespaceViaCommandAsync(markup, expectedMarkup: markup, optionCancelled: true);
public Task TestCancelledOption(string markup) => TestMoveToNamespaceAsync(markup, expectedMarkup: markup, optionCancelled: true);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册