public async Task TestFixAllInSolution_DifferentAssemblyWithSameTypeName() { var fixAllActionId = CSharpImplementAbstractClassCodeFixProvider.GetCodeActionId("Assembly1", "global::A1"); var input = @" <Workspace> <Project Language=""C#"" AssemblyName=""Assembly1"" CommonReferences=""true""> <Document> public abstract class A1 { public abstract void F1(); } public interface I1 { void F2(); } class {|FixAllInSolution:B1|} : A1 { class C1 : A1, I1 { } } </Document> <Document> class B2 : A1 { class C2 : A1, I1 { } } </Document> </Project> <Project Language=""C#"" AssemblyName=""Assembly2"" CommonReferences=""true""> <Document> public abstract class A1 { public abstract void F2(); } class B3 : A1 { class C3 : A1, I1 { } } </Document> </Project> </Workspace>"; var expected = @" <Workspace> <Project Language=""C#"" AssemblyName=""Assembly1"" CommonReferences=""true""> <Document> public abstract class A1 { public abstract void F1(); } public interface I1 { void F2(); } class B1 : A1 { public override void F1() { throw new System.NotImplementedException(); } class C1 : A1, I1 { public override void F1() { throw new System.NotImplementedException(); } } } </Document> <Document> class B2 : A1 { public override void F1() { throw new System.NotImplementedException(); } class C2 : A1, I1 { public override void F1() { throw new System.NotImplementedException(); } } } </Document> </Project> <Project Language=""C#"" AssemblyName=""Assembly2"" CommonReferences=""true""> <Document> public abstract class A1 { public abstract void F2(); } class B3 : A1 { class C3 : A1, I1 { } } </Document> </Project> </Workspace>"; await TestInRegularAndScriptAsync(input, expected, fixAllActionEquivalenceKey : fixAllActionId); }
public async Task TestFixAllInProject() { var fixAllActionId = CSharpImplementAbstractClassCodeFixProvider.GetCodeActionId("Assembly1", "global::A1"); var input = @" <Workspace> <Project Language=""C#"" AssemblyName=""Assembly1"" CommonReferences=""true""> <Document> public abstract class A1 { public abstract void F1(); } public interface I1 { void F2(); } class {|FixAllInProject:B1|} : A1 { class C1 : A1, I1 { } } </Document> <Document> class B2 : A1 { class C2 : A1, I1 { } } </Document> </Project> <Project Language=""C#"" AssemblyName=""Assembly2"" CommonReferences=""true""> <Document> class B3 : A1 { class C3 : A1, I1 { } } </Document> </Project> </Workspace>"; var expected = @" <Workspace> <Project Language=""C#"" AssemblyName=""Assembly1"" CommonReferences=""true""> <Document> using System; public abstract class A1 { public abstract void F1(); } public interface I1 { void F2(); } class B1 : A1 { public override void F1() { throw new NotImplementedException(); } class C1 : A1, I1 { public override void F1() { throw new NotImplementedException(); } } } </Document> <Document> using System; class B2 : A1 { public override void F1() { throw new NotImplementedException(); } class C2 : A1, I1 { public override void F1() { throw new NotImplementedException(); } } } </Document> </Project> <Project Language=""C#"" AssemblyName=""Assembly2"" CommonReferences=""true""> <Document> class B3 : A1 { class C3 : A1, I1 { } } </Document> </Project> </Workspace>"; await TestAsync(input, expected, compareTokens : false, fixAllActionEquivalenceKey : fixAllActionId); }