提交 11b851f2 编写于 作者: C Cyrus Najmabadi

Cleanup

上级 693410e0
......@@ -33,6 +33,7 @@ public class GenerateEqualsAndGetHashCodeFromMembersTests
{
private class Test : VerifyCS.Test
{
// Our own cached export factory, where we can mixin the TestPickMembersService type.
private static readonly IExportProviderFactory s_factory = ExportProviderCache.GetOrCreateExportProviderFactory(
TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithPart(typeof(TestPickMembersService)));
......@@ -46,6 +47,7 @@ public override AdhocWorkspace CreateWorkspace()
if (!UseDialog)
return base.CreateWorkspace();
// If we're a dialog test, then mixin our mock and initialize its values to the ones the test asked for.
var exportProvider = s_factory.CreateExportProvider();
var workspace = new AdhocWorkspace(VisualStudioMefHostServices.Create(exportProvider));
......@@ -89,7 +91,6 @@ private static OptionsCollection PreferExplicitTypeWithInfo()
};
private static TestParameters CSharp6Implicit => CSharp6.WithOptions(PreferImplicitTypeWithInfo());
private static TestParameters CSharp7Implicit => CSharp7.WithOptions(PreferImplicitTypeWithInfo());
private static TestParameters CSharp6Explicit => CSharp6.WithOptions(PreferExplicitTypeWithInfo());
private static TestParameters CSharpLatestImplicit => CSharpLatest.WithOptions(PreferImplicitTypeWithInfo());
......@@ -121,57 +122,7 @@ private static OptionsCollection PreferExplicitTypeWithInfo()
expectedDiagnostics, testExpectedDiagnostics, fixedExpectedDiagnostics);
}
private static async Task TestInRegularAndScript1Async(
string[] initialMarkup,
string[] expectedMarkup,
int index = 0,
TestParameters? parameters = null,
List<DiagnosticResult> expectedDiagnostics = null,
List<DiagnosticResult> testExpectedDiagnostics = null,
List<DiagnosticResult> fixedExpectedDiagnostics = null)
{
var test = new Test
{
CodeActionIndex = index,
};
foreach (var source in initialMarkup)
test.TestState.Sources.Add(source);
foreach (var source in expectedMarkup)
test.FixedState.Sources.Add(source);
if (parameters?.parseOptions != null)
test.LanguageVersion = ((CSharpParseOptions)parameters.Value.parseOptions).LanguageVersion;
if (parameters?.options != null)
test.EditorConfig = CodeFixVerifierHelper.GetEditorConfigText(parameters.Value.options);
if (parameters?.fixProviderData is TestPickMembersService pickMembers)
{
test.UseDialog = true;
test.MemberNames = pickMembers.MemberNames;
test.OptionsCallback = pickMembers.OptionsCallback;
}
test.CompilationOptions = parameters?.compilationOptions;
foreach (var diagnostic in expectedDiagnostics ?? new List<DiagnosticResult>())
{
test.TestState.ExpectedDiagnostics.Add(diagnostic);
test.FixedState.ExpectedDiagnostics.Add(diagnostic);
}
foreach (var diagnostic in testExpectedDiagnostics ?? new List<DiagnosticResult>())
test.TestState.ExpectedDiagnostics.Add(diagnostic);
foreach (var diagnostic in fixedExpectedDiagnostics ?? new List<DiagnosticResult>())
test.FixedState.ExpectedDiagnostics.Add(diagnostic);
await test.RunAsync();
}
internal static Task TestWithPickMembersDialogAsync(
private static Task TestWithPickMembersDialogAsync(
string initialMarkup,
string expectedMarkup,
string[] chosenSymbols,
......@@ -194,7 +145,7 @@ private static OptionsCollection PreferExplicitTypeWithInfo()
fixedExpectedDiagnostics);
}
internal static Task TestWithPickMembersDialogAsync(
private static Task TestWithPickMembersDialogAsync(
string[] initialMarkup,
string[] expectedMarkup,
string[] chosenSymbols,
......@@ -224,6 +175,56 @@ internal static void EnableOption(ImmutableArray<PickMembersOption> options, str
}
}
private static async Task TestInRegularAndScript1Async(
string[] initialMarkup,
string[] expectedMarkup,
int index = 0,
TestParameters? parameters = null,
List<DiagnosticResult> expectedDiagnostics = null,
List<DiagnosticResult> testExpectedDiagnostics = null,
List<DiagnosticResult> fixedExpectedDiagnostics = null)
{
var test = new Test
{
CodeActionIndex = index,
};
foreach (var source in initialMarkup)
test.TestState.Sources.Add(source);
foreach (var source in expectedMarkup)
test.FixedState.Sources.Add(source);
if (parameters?.parseOptions != null)
test.LanguageVersion = ((CSharpParseOptions)parameters.Value.parseOptions).LanguageVersion;
if (parameters?.options != null)
test.EditorConfig = CodeFixVerifierHelper.GetEditorConfigText(parameters.Value.options);
if (parameters?.fixProviderData is TestPickMembersService pickMembers)
{
test.UseDialog = true;
test.MemberNames = pickMembers.MemberNames;
test.OptionsCallback = pickMembers.OptionsCallback;
}
test.CompilationOptions = parameters?.compilationOptions;
foreach (var diagnostic in expectedDiagnostics ?? new List<DiagnosticResult>())
{
test.TestState.ExpectedDiagnostics.Add(diagnostic);
test.FixedState.ExpectedDiagnostics.Add(diagnostic);
}
foreach (var diagnostic in testExpectedDiagnostics ?? new List<DiagnosticResult>())
test.TestState.ExpectedDiagnostics.Add(diagnostic);
foreach (var diagnostic in fixedExpectedDiagnostics ?? new List<DiagnosticResult>())
test.FixedState.ExpectedDiagnostics.Add(diagnostic);
await test.RunAsync();
}
[Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateEqualsAndGetHashCode)]
public async Task TestEqualsSingleField1()
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册