replace constructor with builder: qualify references ( IDEA-55476 )

This commit is contained in:
anna
2010-06-04 12:00:38 +04:00
parent b0c58c5e70
commit 563dc867cc
8 changed files with 50 additions and 3 deletions
@@ -0,0 +1,5 @@
import foo.Builder;
public class Bar {
final Test foo = new Builder().setBar("bar").createTest();
}
@@ -0,0 +1,7 @@
public class Test {
private final String bar;
public Test(final String bar) {
this.bar = bar;
}
}
@@ -0,0 +1,14 @@
package foo;
public class Builder {
private String bar;
public Builder setBar(String bar) {
this.bar = bar;
return this;
}
public Test createTest() {
return new Test(bar);
}
}
@@ -0,0 +1,3 @@
public class Bar {
final Test foo = new Test("bar");
}
@@ -0,0 +1,7 @@
public class Test {
private final String bar;
public Test(final String bar) {
this.bar = bar;
}
}
@@ -58,6 +58,10 @@ public class ReplaceConstructorWithBuilderTest extends MultiFileTestCase {
doTest(true);
}
public void testImports() throws Exception {
doTest(true, null, null, "foo");
}
private void doTest(final boolean createNewBuilderClass) throws Exception {
doTest(createNewBuilderClass, null);
}
@@ -67,6 +71,13 @@ public class ReplaceConstructorWithBuilderTest extends MultiFileTestCase {
}
private void doTest(final boolean createNewBuilderClass, final Map<String, String> expectedDefaults, final String conflicts) throws Exception {
doTest(createNewBuilderClass, expectedDefaults, conflicts, "");
}
private void doTest(final boolean createNewBuilderClass,
final Map<String, String> expectedDefaults,
final String conflicts,
final String packageName) throws Exception {
doTest(new PerformAction() {
public void performAction(final VirtualFile rootDir, final VirtualFile rootAfter) throws Exception {
final PsiClass aClass = myJavaFacade.findClass("Test", GlobalSearchScope.projectScope(getProject()));
@@ -85,7 +96,7 @@ public class ReplaceConstructorWithBuilderTest extends MultiFileTestCase {
}
}
try {
new ReplaceConstructorWithBuilderProcessor(getProject(), constructors, map, "Builder", "", createNewBuilderClass).run();
new ReplaceConstructorWithBuilderProcessor(getProject(), constructors, map, "Builder", packageName, createNewBuilderClass).run();
if (conflicts != null) {
fail("Conflicts were not detected:" + conflicts);
}