5 package com
.intellij
.refactoring
;
7 import com
.intellij
.openapi
.fileEditor
.FileDocumentManager
;
8 import com
.intellij
.openapi
.vfs
.LocalFileSystem
;
9 import com
.intellij
.openapi
.vfs
.VirtualFile
;
10 import com
.intellij
.psi
.PsiClass
;
11 import com
.intellij
.psi
.PsiField
;
12 import com
.intellij
.psi
.PsiMethod
;
13 import com
.intellij
.refactoring
.removemiddleman
.DelegationUtils
;
14 import com
.intellij
.refactoring
.removemiddleman
.RemoveMiddlemanProcessor
;
15 import com
.intellij
.refactoring
.util
.classMembers
.MemberInfo
;
17 import java
.util
.ArrayList
;
18 import java
.util
.List
;
21 public class RemoveMiddleManTest
extends MultiFileTestCase
{
22 protected String
getTestRoot() {
23 return "/refactoring/removemiddleman/";
26 private void doTest() throws Exception
{
30 private void doTest(final boolean delete
) throws Exception
{
31 doTest(new PerformAction() {
32 public void performAction(final VirtualFile rootDir
, final VirtualFile rootAfter
) throws Exception
{
33 PsiClass aClass
= myJavaFacade
.findClass("Test");
35 if (aClass
== null) aClass
= myJavaFacade
.findClass("p.Test");
36 assertNotNull("Class Test not found", aClass
);
38 final PsiField field
= aClass
.findFieldByName("myField", false);
39 final Set
<PsiMethod
> methods
= DelegationUtils
.getDelegatingMethodsForField(field
);
40 List
<MemberInfo
> infos
= new ArrayList
<MemberInfo
>();
41 for (PsiMethod method
: methods
) {
42 final MemberInfo info
= new MemberInfo(method
);
43 info
.setChecked(true);
44 info
.setToAbstract(delete
);
47 RemoveMiddlemanProcessor processor
= new RemoveMiddlemanProcessor(field
, infos
);
49 LocalFileSystem
.getInstance().refresh(false);
50 FileDocumentManager
.getInstance().saveAllDocuments();
55 public void testNoGetter() throws Exception
{
59 public void testSiblings() throws Exception
{
64 public void testInterface() throws Exception
{
68 public void testPresentGetter() throws Exception
{
72 public void testInterfaceDelegation() throws Exception
{