diff --git a/python/testData/refactoring/extractmethod/BinaryExpression.after.py b/python/testData/refactoring/extractmethod/BinaryExpression.after.py new file mode 100644 index 000000000000..97e855544d46 --- /dev/null +++ b/python/testData/refactoring/extractmethod/BinaryExpression.after.py @@ -0,0 +1,4 @@ +def foo(): + return bbb + +aaa = foo() && ccc \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/BinaryExpression.before.py b/python/testData/refactoring/extractmethod/BinaryExpression.before.py new file mode 100644 index 000000000000..714e824993dd --- /dev/null +++ b/python/testData/refactoring/extractmethod/BinaryExpression.before.py @@ -0,0 +1 @@ +aaa = bbb && ccc \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/BreakAst.after.py b/python/testData/refactoring/extractmethod/BreakAst.after.py new file mode 100644 index 000000000000..bf980f363971 --- /dev/null +++ b/python/testData/refactoring/extractmethod/BreakAst.after.py @@ -0,0 +1,6 @@ +def bar(r_new): + return PI * r_new ** 2 + + +def cylinder_volume(r, h): + h * bar(r) diff --git a/python/testData/refactoring/extractmethod/BreakAst.before.py b/python/testData/refactoring/extractmethod/BreakAst.before.py new file mode 100644 index 000000000000..0abd37a690d9 --- /dev/null +++ b/python/testData/refactoring/extractmethod/BreakAst.before.py @@ -0,0 +1,2 @@ +def cylinder_volume(r, h): + h * PI * r ** 2 diff --git a/python/testData/refactoring/extractmethod/ClassContext.after.py b/python/testData/refactoring/extractmethod/ClassContext.after.py new file mode 100644 index 000000000000..d8d43cddfcb9 --- /dev/null +++ b/python/testData/refactoring/extractmethod/ClassContext.after.py @@ -0,0 +1,5 @@ +class PyCharm: + def bar(): + print("Hello Pycharm!") + + bar() \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/ClassContext.before.py b/python/testData/refactoring/extractmethod/ClassContext.before.py new file mode 100644 index 000000000000..b33d3dea282a --- /dev/null +++ b/python/testData/refactoring/extractmethod/ClassContext.before.py @@ -0,0 +1,2 @@ +class PyCharm: + print("Hello Pycharm!") \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/classmethod.after.py b/python/testData/refactoring/extractmethod/ClassMethod.after.py similarity index 100% rename from python/testData/refactoring/extractmethod/classmethod.after.py rename to python/testData/refactoring/extractmethod/ClassMethod.after.py diff --git a/python/testData/refactoring/extractmethod/classmethod.before.py b/python/testData/refactoring/extractmethod/ClassMethod.before.py similarity index 100% rename from python/testData/refactoring/extractmethod/classmethod.before.py rename to python/testData/refactoring/extractmethod/ClassMethod.before.py diff --git a/python/testData/refactoring/extractmethod/comment.after.py b/python/testData/refactoring/extractmethod/Comment.after.py similarity index 100% rename from python/testData/refactoring/extractmethod/comment.after.py rename to python/testData/refactoring/extractmethod/Comment.after.py diff --git a/python/testData/refactoring/extractmethod/comment.before.py b/python/testData/refactoring/extractmethod/Comment.before.py similarity index 100% rename from python/testData/refactoring/extractmethod/comment.before.py rename to python/testData/refactoring/extractmethod/Comment.before.py diff --git a/python/testData/refactoring/extractmethod/comment2.after.py b/python/testData/refactoring/extractmethod/Comment2.after.py similarity index 100% rename from python/testData/refactoring/extractmethod/comment2.after.py rename to python/testData/refactoring/extractmethod/Comment2.after.py diff --git a/python/testData/refactoring/extractmethod/comment2.before.py b/python/testData/refactoring/extractmethod/Comment2.before.py similarity index 100% rename from python/testData/refactoring/extractmethod/comment2.before.py rename to python/testData/refactoring/extractmethod/Comment2.before.py diff --git a/python/testData/refactoring/extractmethod/conditionalreturn.before.py b/python/testData/refactoring/extractmethod/ConditionalReturn.before.py similarity index 100% rename from python/testData/refactoring/extractmethod/conditionalreturn.before.py rename to python/testData/refactoring/extractmethod/ConditionalReturn.before.py diff --git a/python/testData/refactoring/extractmethod/elsebody.after.py b/python/testData/refactoring/extractmethod/ElseBody.after.py similarity index 100% rename from python/testData/refactoring/extractmethod/elsebody.after.py rename to python/testData/refactoring/extractmethod/ElseBody.after.py diff --git a/python/testData/refactoring/extractmethod/elsebody.before.py b/python/testData/refactoring/extractmethod/ElseBody.before.py similarity index 100% rename from python/testData/refactoring/extractmethod/elsebody.before.py rename to python/testData/refactoring/extractmethod/ElseBody.before.py diff --git a/python/testData/refactoring/extractmethod/Expression.after.py b/python/testData/refactoring/extractmethod/Expression.after.py new file mode 100644 index 000000000000..5ef6f9653efb --- /dev/null +++ b/python/testData/refactoring/extractmethod/Expression.after.py @@ -0,0 +1,8 @@ +def plus(a_new, b_new): + return a_new + b_new * 123 + + +def f(): + a = 1 + b = 1 + c = plus(a, b) \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/Expression.before.py b/python/testData/refactoring/extractmethod/Expression.before.py new file mode 100644 index 000000000000..58e1958353a2 --- /dev/null +++ b/python/testData/refactoring/extractmethod/Expression.before.py @@ -0,0 +1,4 @@ +def f(): + a = 1 + b = 1 + c = a + b * 123 \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/file.after.py b/python/testData/refactoring/extractmethod/File.after.py similarity index 100% rename from python/testData/refactoring/extractmethod/file.after.py rename to python/testData/refactoring/extractmethod/File.after.py diff --git a/python/testData/refactoring/extractmethod/file.before.py b/python/testData/refactoring/extractmethod/File.before.py similarity index 100% rename from python/testData/refactoring/extractmethod/file.before.py rename to python/testData/refactoring/extractmethod/File.before.py diff --git a/python/testData/refactoring/extractmethod/MethodContext.after.py b/python/testData/refactoring/extractmethod/MethodContext.after.py new file mode 100644 index 000000000000..894730b4a9e4 --- /dev/null +++ b/python/testData/refactoring/extractmethod/MethodContext.after.py @@ -0,0 +1,7 @@ +class C: + def bar(self): + for x in [1, 2]: + print x + + def foo(self): + self.bar() \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/MethodContext.before.py b/python/testData/refactoring/extractmethod/MethodContext.before.py new file mode 100644 index 000000000000..3fbab10fdfa0 --- /dev/null +++ b/python/testData/refactoring/extractmethod/MethodContext.before.py @@ -0,0 +1,4 @@ +class C: + def foo(self): + for x in [1, 2]: + print x \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/methodInIf.after.py b/python/testData/refactoring/extractmethod/MethodInIf.after.py similarity index 100% rename from python/testData/refactoring/extractmethod/methodInIf.after.py rename to python/testData/refactoring/extractmethod/MethodInIf.after.py diff --git a/python/testData/refactoring/extractmethod/methodInIf.before.py b/python/testData/refactoring/extractmethod/MethodInIf.before.py similarity index 100% rename from python/testData/refactoring/extractmethod/methodInIf.before.py rename to python/testData/refactoring/extractmethod/MethodInIf.before.py diff --git a/python/testData/refactoring/extractmethod/MethodIndent.after.py b/python/testData/refactoring/extractmethod/MethodIndent.after.py new file mode 100644 index 000000000000..f725cb8f8982 --- /dev/null +++ b/python/testData/refactoring/extractmethod/MethodIndent.after.py @@ -0,0 +1,8 @@ +class Foo(X, Y, Z): + def bar(self, base_new): + try: base_new.__init__(self) + except AttributeError: pass + + def __init__(self): + for base in self__class__.__bases__: + self.bar(base) diff --git a/python/testData/refactoring/extractmethod/MethodIndent.before.py b/python/testData/refactoring/extractmethod/MethodIndent.before.py new file mode 100644 index 000000000000..43ae5769b400 --- /dev/null +++ b/python/testData/refactoring/extractmethod/MethodIndent.before.py @@ -0,0 +1,5 @@ +class Foo(X, Y, Z): + def __init__(self): + for base in self__class__.__bases__: + try: base.__init__(self) + except AttributeError: pass diff --git a/python/testData/refactoring/extractmethod/MethodReturn.after.py b/python/testData/refactoring/extractmethod/MethodReturn.after.py new file mode 100644 index 000000000000..c284021950fd --- /dev/null +++ b/python/testData/refactoring/extractmethod/MethodReturn.after.py @@ -0,0 +1,9 @@ +class C: + def bar(self): + if (self.cond): + return 1 + else: + return 2 + + def foo(self): + return self.bar() \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/MethodReturn.before.py b/python/testData/refactoring/extractmethod/MethodReturn.before.py new file mode 100644 index 000000000000..70e2a62bffce --- /dev/null +++ b/python/testData/refactoring/extractmethod/MethodReturn.before.py @@ -0,0 +1,6 @@ +class C: + def foo(self): + if (self.cond): + return 1 + else: + return 2 \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/NameCollisionClass.before.py b/python/testData/refactoring/extractmethod/NameCollisionClass.before.py new file mode 100644 index 000000000000..5aa02294eab8 --- /dev/null +++ b/python/testData/refactoring/extractmethod/NameCollisionClass.before.py @@ -0,0 +1,5 @@ +class A: + def hello(): + pass + + print("Hello") diff --git a/python/testData/refactoring/extractmethod/NameCollisionFile.before.py b/python/testData/refactoring/extractmethod/NameCollisionFile.before.py new file mode 100644 index 000000000000..4638816d913c --- /dev/null +++ b/python/testData/refactoring/extractmethod/NameCollisionFile.before.py @@ -0,0 +1,4 @@ +def hello(): + pass + +print("Hello") \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/NameCollisionSuperClass.before.py b/python/testData/refactoring/extractmethod/NameCollisionSuperClass.before.py new file mode 100644 index 000000000000..9f06672765ba --- /dev/null +++ b/python/testData/refactoring/extractmethod/NameCollisionSuperClass.before.py @@ -0,0 +1,7 @@ +class A: + def hello(self): + pass + +class B(A): + def foo(self): + print("Hello") diff --git a/python/testData/refactoring/extractmethod/OutNotEmptyStatements.after.py b/python/testData/refactoring/extractmethod/OutNotEmptyStatements.after.py new file mode 100644 index 000000000000..e76646160990 --- /dev/null +++ b/python/testData/refactoring/extractmethod/OutNotEmptyStatements.after.py @@ -0,0 +1,12 @@ +def sum_squares(a_new, result_new): + while a_new < 10: + result_new += a_new * a_new + a_new += 1 + return result_new + + +def f(): + a = 10 + result = 0 + result = sum_squares(a, result) + print("Sum of squares: " + result) diff --git a/python/testData/refactoring/extractmethod/OutNotEmptyStatements.before.py b/python/testData/refactoring/extractmethod/OutNotEmptyStatements.before.py new file mode 100644 index 000000000000..dbc4dda006e4 --- /dev/null +++ b/python/testData/refactoring/extractmethod/OutNotEmptyStatements.before.py @@ -0,0 +1,7 @@ +def f(): + a = 10 + result = 0 + while a < 10: + result += a * a + a += 1 + print("Sum of squares: " + result) diff --git a/python/testData/refactoring/extractmethod/OutNotEmptyStatements2.after.py b/python/testData/refactoring/extractmethod/OutNotEmptyStatements2.after.py new file mode 100644 index 000000000000..31e3e2fde502 --- /dev/null +++ b/python/testData/refactoring/extractmethod/OutNotEmptyStatements2.after.py @@ -0,0 +1,12 @@ +def sum_squares(a_new): + result = 0 + while a_new < 10: + result += a_new * a_new + a_new += 1 + return a_new, result + + +def f(): + a = 1 + a, result = sum_squares(a) + print("Sum of squares: " + a + " = " + result) diff --git a/python/testData/refactoring/extractmethod/OutNotEmptyStatements2.before.py b/python/testData/refactoring/extractmethod/OutNotEmptyStatements2.before.py new file mode 100644 index 000000000000..8618a55f7fd5 --- /dev/null +++ b/python/testData/refactoring/extractmethod/OutNotEmptyStatements2.before.py @@ -0,0 +1,7 @@ +def f(): + a = 1 + result = 0 + while a < 10: + result += a * a + a += 1 + print("Sum of squares: " + a + " = " + result) diff --git a/python/testData/refactoring/extractmethod/Parameter.after.py b/python/testData/refactoring/extractmethod/Parameter.after.py new file mode 100644 index 000000000000..d8a11e00ef99 --- /dev/null +++ b/python/testData/refactoring/extractmethod/Parameter.after.py @@ -0,0 +1,6 @@ +def bar(a_new): + print(a_new) + + +def foo(a): + bar(a) diff --git a/python/testData/refactoring/extractmethod/Parameter.before.py b/python/testData/refactoring/extractmethod/Parameter.before.py new file mode 100644 index 000000000000..66dd68486827 --- /dev/null +++ b/python/testData/refactoring/extractmethod/Parameter.before.py @@ -0,0 +1,2 @@ +def foo(a): + print(a) diff --git a/python/testData/refactoring/extractmethod/Py479.after.py b/python/testData/refactoring/extractmethod/Py479.after.py new file mode 100644 index 000000000000..6de82ec0c85a --- /dev/null +++ b/python/testData/refactoring/extractmethod/Py479.after.py @@ -0,0 +1,25 @@ +class Foo: + def __init__(self): + self.tmp = False + + def bar(self, condition3_new, condition4_new): + self.tmp2 = True + if condition3_new: + print(condition3_new) + if condition4_new: + print(condition4_new) + print("misterious extract method test") + + def extract_method(self, condition1, condition2, condition3, condition4): + list = (1, 2, 3) + a = 6 + b = False + if a in list or self.tmp: + if condition1: + print(condition1) + if b is not condition2: + print(b) + else: + self.bar(condition3, condition4) +f = Foo() +f.extract_method(True, True, True, True) \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/Py479.before.py b/python/testData/refactoring/extractmethod/Py479.before.py new file mode 100644 index 000000000000..33abf490a9f1 --- /dev/null +++ b/python/testData/refactoring/extractmethod/Py479.before.py @@ -0,0 +1,22 @@ +class Foo: + def __init__(self): + self.tmp = False + + def extract_method(self, condition1, condition2, condition3, condition4): + list = (1, 2, 3) + a = 6 + b = False + if a in list or self.tmp: + if condition1: + print(condition1) + if b is not condition2: + print(b) + else: + self.tmp2 = True + if condition3: + print(condition3) + if condition4: + print(condition4) + print("misterious extract method test") +f = Foo() +f.extract_method(True, True, True, True) \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/return_tuple.after.py b/python/testData/refactoring/extractmethod/ReturnTuple.after.py similarity index 100% rename from python/testData/refactoring/extractmethod/return_tuple.after.py rename to python/testData/refactoring/extractmethod/ReturnTuple.after.py diff --git a/python/testData/refactoring/extractmethod/return_tuple.before.py b/python/testData/refactoring/extractmethod/ReturnTuple.before.py similarity index 100% rename from python/testData/refactoring/extractmethod/return_tuple.before.py rename to python/testData/refactoring/extractmethod/ReturnTuple.before.py diff --git a/python/testData/refactoring/extractmethod/Statement.after.py b/python/testData/refactoring/extractmethod/Statement.after.py new file mode 100644 index 000000000000..b8cd0525969d --- /dev/null +++ b/python/testData/refactoring/extractmethod/Statement.after.py @@ -0,0 +1,8 @@ +def foo(a_new, b_new): + print(a_new + b_new * 123) + + +def f(): + a = 1 + b = 1 + foo(a, b) \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/Statement.before.py b/python/testData/refactoring/extractmethod/Statement.before.py new file mode 100644 index 000000000000..32c0393c2407 --- /dev/null +++ b/python/testData/refactoring/extractmethod/Statement.before.py @@ -0,0 +1,4 @@ +def f(): + a = 1 + b = 1 + print(a + b * 123) \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/StatementReturn.after.py b/python/testData/refactoring/extractmethod/StatementReturn.after.py new file mode 100644 index 000000000000..61694ca944de --- /dev/null +++ b/python/testData/refactoring/extractmethod/StatementReturn.after.py @@ -0,0 +1,10 @@ +def foo(): + if foo(): + return -1 + else: + return 1 + +return foo() + + +bar \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/StatementReturn.before.py b/python/testData/refactoring/extractmethod/StatementReturn.before.py new file mode 100644 index 000000000000..148938b0d851 --- /dev/null +++ b/python/testData/refactoring/extractmethod/StatementReturn.before.py @@ -0,0 +1,8 @@ + +if foo(): + return -1 +else: + return 1 + + +bar \ No newline at end of file diff --git a/python/testData/refactoring/extractmethod/Statements.after.py b/python/testData/refactoring/extractmethod/Statements.after.py new file mode 100644 index 000000000000..70aa5c212096 --- /dev/null +++ b/python/testData/refactoring/extractmethod/Statements.after.py @@ -0,0 +1,10 @@ +def foo(a_new, b_new): + puts(a_new + b_new * 123) + print("Hello from extract method") + + +def f(): + a = 1 + b = 1 + foo(a, b) + diff --git a/python/testData/refactoring/extractmethod/Statements.before.py b/python/testData/refactoring/extractmethod/Statements.before.py new file mode 100644 index 000000000000..c8e804887c89 --- /dev/null +++ b/python/testData/refactoring/extractmethod/Statements.before.py @@ -0,0 +1,6 @@ +def f(): + a = 1 + b = 1 + puts(a + b * 123) + print("Hello from extract method") + diff --git a/python/testData/refactoring/extractmethod/staticmethod.after.py b/python/testData/refactoring/extractmethod/StaticMethod.after.py similarity index 100% rename from python/testData/refactoring/extractmethod/staticmethod.after.py rename to python/testData/refactoring/extractmethod/StaticMethod.after.py diff --git a/python/testData/refactoring/extractmethod/staticmethod.before.py b/python/testData/refactoring/extractmethod/StaticMethod.before.py similarity index 100% rename from python/testData/refactoring/extractmethod/staticmethod.before.py rename to python/testData/refactoring/extractmethod/StaticMethod.before.py diff --git a/python/testData/refactoring/extractmethod/WhileOutput.after.py b/python/testData/refactoring/extractmethod/WhileOutput.after.py new file mode 100644 index 000000000000..502f8d2ee25b --- /dev/null +++ b/python/testData/refactoring/extractmethod/WhileOutput.after.py @@ -0,0 +1,11 @@ +def bar(a_new): + do_smth + a_new += 1 + return a_new + + +def f(): + a = 1 + while a < 10: + a = bar(a) + print(a) diff --git a/python/testData/refactoring/extractmethod/WhileOutput.before.py b/python/testData/refactoring/extractmethod/WhileOutput.before.py new file mode 100644 index 000000000000..7dc2ed5893d1 --- /dev/null +++ b/python/testData/refactoring/extractmethod/WhileOutput.before.py @@ -0,0 +1,6 @@ +def f(): + a = 1 + while a < 10: + do_smth + a+=1 + print(a) diff --git a/python/testData/refactoring/extractmethod/WrongSelectionFromImportStar.before.py b/python/testData/refactoring/extractmethod/WrongSelectionFromImportStar.before.py new file mode 100644 index 000000000000..a1f3184f5249 --- /dev/null +++ b/python/testData/refactoring/extractmethod/WrongSelectionFromImportStar.before.py @@ -0,0 +1 @@ +from mymodule import * diff --git a/python/testData/refactoring/extractmethod/WrongSelectionIfPart.before.py b/python/testData/refactoring/extractmethod/WrongSelectionIfPart.before.py new file mode 100644 index 000000000000..9274a2c1a07b --- /dev/null +++ b/python/testData/refactoring/extractmethod/WrongSelectionIfPart.before.py @@ -0,0 +1,13 @@ +class Settings(patterns.Observer, UnicodeAwareConfigParser): + def __init__(self): + pass + def set(self, section, option, value, new=False): + if new: + currentValue = 'a new option, so use something as current value'\ + ' that is unlikely to be equal to the new value' + else: + currentValue = self.get(section, option) + if value != currentValue: + patterns.Event('before.%s.%s'%(section, option), self, value).send() + super(Settings, self).set(section, option, value) + patterns.Event('%s.%s'%(section, option), self, value).send() diff --git a/python/testSrc/com/jetbrains/python/refactoring/PyExtractMethodTest.java b/python/testSrc/com/jetbrains/python/refactoring/PyExtractMethodTest.java index 84b1b40d3222..a2d9dc970a85 100644 --- a/python/testSrc/com/jetbrains/python/refactoring/PyExtractMethodTest.java +++ b/python/testSrc/com/jetbrains/python/refactoring/PyExtractMethodTest.java @@ -1,6 +1,8 @@ package com.jetbrains.python.refactoring; import com.intellij.lang.LanguageRefactoringSupport; +import com.intellij.lang.refactoring.RefactoringSupportProvider; +import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.ex.EditorEx; import com.intellij.refactoring.RefactoringActionHandler; import com.jetbrains.python.PythonLanguage; @@ -11,152 +13,156 @@ import com.jetbrains.python.refactoring.extractmethod.PyExtractMethodUtil; * @author oleg */ public class PyExtractMethodTest extends LightMarkedTestCase { - private void doTest(final String testPath, - final String name, - final String result) { - - myFixture.configureByFile("/refactoring/extractmethod/" + testPath); - final RefactoringActionHandler handler = LanguageRefactoringSupport.INSTANCE.forLanguage(PythonLanguage.getInstance()).getExtractMethodHandler(); - try { - System.setProperty(PyExtractMethodUtil.NAME, name); - try { - handler.invoke(myFixture.getProject(), myFixture.getEditor(), myFixture.getFile(), ((EditorEx) myFixture.getEditor()).getDataContext()); - } - catch (Exception e) { - if (result.endsWith(".py")) { // expected output file, not an exception - e.printStackTrace(); - } - assertEquals(result, e.getMessage()); - return; - } - } finally { - System.clearProperty(PyExtractMethodUtil.NAME); - } - myFixture.checkResultByFile("/refactoring/extractmethod/" + result); - } - private void doTest(String newName) { final String testName = getTestName(false); - doTest(testName + ".before.py", newName, testName + ".after.py"); + final String beforeName = testName + ".before.py"; + final String afterName = testName + ".after.py"; + final String dir = "refactoring/extractmethod/"; + + myFixture.configureByFile(dir + beforeName); + final RefactoringSupportProvider provider = LanguageRefactoringSupport.INSTANCE.forLanguage(PythonLanguage.getInstance()); + assertNotNull(provider); + final RefactoringActionHandler handler = provider.getExtractMethodHandler(); + assertNotNull(handler); + final Editor editor = myFixture.getEditor(); + assertInstanceOf(editor, EditorEx.class); + System.setProperty(PyExtractMethodUtil.NAME, newName); + try { + handler.invoke(myFixture.getProject(), editor, myFixture.getFile(), ((EditorEx)editor).getDataContext()); + } + finally { + System.clearProperty(PyExtractMethodUtil.NAME); + } + myFixture.checkResultByFile(dir + afterName); + } + + private void doFail(String newName, String message) { + try { + doTest(newName); + } + catch (Exception e) { + assertEquals(message, e.getMessage()); + return; + } + fail("No exception was thrown"); } public void testParameter() { - doTest("outEmpty/parameter.before.py", "bar", "outEmpty/parameter.after.py"); + doTest("bar"); } public void testBreakAst() { - doTest("outEmpty/break_ast.before.py", "bar", "outEmpty/break_ast.after.py"); + doTest("bar"); } public void testExpression() { - doTest("outEmpty/expression.before.py", "plus", "outEmpty/expression.after.py"); + doTest("plus"); } public void testStatement() { - doTest("outEmpty/statement.before.py", "foo", "outEmpty/statement.after.py"); + doTest("foo"); } public void testStatements() { - doTest("outEmpty/statements.before.py", "foo", "outEmpty/statements.after.py"); + doTest("foo"); } public void testStatementReturn() { - doTest("outEmpty/statement_return.before.py", "foo", "outEmpty/statement_return.after.py"); + doTest("foo"); } public void testBinaryExpression() { - doTest("controlFlow/binary_expr.before.py", "foo", "controlFlow/binary_expr.after.py"); + doTest("foo"); } public void testWhileOutput() { - doTest("controlFlow/while_output.before.py", "bar", "controlFlow/while_output.after.py"); + doTest("bar"); } public void testNameCollisionClass() { - doTest("namesCollision/class.before.py", "hello", "Method name clashes with already existing method name"); + doFail("hello", "Method name clashes with already existing method name"); } public void testNameCollisionFile() { - doTest("namesCollision/file.before.py", "hello", "Method name clashes with already existing method name"); + doFail("hello", "Method name clashes with already existing method name"); } public void testNameCollisionSuperClass() { - doTest("namesCollision/superclass.before.py", "hello", "Method name clashes with already existing method name"); + doFail("hello", "Method name clashes with already existing method name"); } public void testOutNotEmptyStatements() { - doTest("outNotEmpty/statements.before.py", "sum_squares", "outNotEmpty/statements.after.py"); + doTest("sum_squares"); } public void testOutNotEmptyStatements2() { - doTest("outNotEmpty/statements2.before.py", "sum_squares", "outNotEmpty/statements2.after.py"); + doTest("sum_squares"); } // PY-2903 public void _testComment() { - doTest("comment.before.py", "bar", "comment.after.py"); + doTest("bar"); } public void testFile() { - doTest("file.before.py", "bar", "file.after.py"); + doTest("bar"); } - - public void testMethod() { - doTest("context/method.before.py", "bar", "context/method.after.py"); + public void testMethodContext() { + doTest("bar"); } public void testMethodIndent() { - doTest("context/methodindent.before.py", "bar", "context/methodindent.after.py"); + doTest("bar"); } public void testMethodReturn() { - doTest("context/methodreturn.before.py", "bar", "context/methodreturn.after.py"); + doTest("bar"); } public void testWrongSelectionIfPart() { - doTest("wrongSelection/ifpart.before.py", "bar", "Cannot perform extract method using selected element(s)"); + doFail("bar", "Cannot perform extract method using selected element(s)"); } - public void testFromImportStatement() { - doTest("wrongSelection/fromimport.before.py", "bar", "Cannot perform refactoring with from import statement inside code block"); + public void testWrongSelectionFromImportStar() { + doFail("bar", "Cannot perform refactoring with from import statement inside code block"); } public void testPy479() { - doTest("outEmpty/py479.before.py", "bar", "outEmpty/py479.after.py"); + doTest("bar"); } - public void testClass() { - doTest("context/class.before.py", "bar", "context/class.after.py"); + public void testClassContext() { + doTest("bar"); } public void testConditionalReturn() { - doTest("conditionalreturn.before.py", "bar", "Cannot perform refactoring when execution flow is interrupted"); + doFail("bar", "Cannot perform refactoring when execution flow is interrupted"); } public void testReturnTuple() { - doTest("return_tuple.before.py", "bar", "return_tuple.after.py"); + doTest("bar"); } public void testComment2() { - doTest("comment2.before.py", "baz", "comment2.after.py"); + doTest("baz"); } public void testElseBody() { - doTest("elsebody.before.py", "baz", "elsebody.after.py"); + doTest("baz"); } public void testClassMethod() { - doTest("classmethod.before.py", "baz", "classmethod.after.py"); + doTest("baz"); } public void testStaticMethod() { - doTest("staticmethod.before.py", "baz", "staticmethod.after.py"); + doTest("baz"); } // PY-5123 public void testMethodInIf() { - doTest("methodInIf.before.py", "baz", "methodInIf.after.py"); + doTest("baz"); } // PY-6081