/** * Copyright (c) 2005-2013 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the Eclipse Public License (EPL). * Please see the license.txt included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package com.python.pydev.refactoring.refactorer.refactorings.rename; import java.io.File; import java.util.HashSet; import java.util.Map; import org.python.pydev.parser.visitors.scope.ASTEntry; import org.python.pydev.shared_core.structure.Tuple; import com.python.pydev.refactoring.wizards.rename.PyRenameParameterProcess; public class RenameParamRefactoringTest extends RefactoringRenameTestBase { public static void main(String[] args) { try { DEBUG_REFERENCES = false; RenameParamRefactoringTest test = new RenameParamRefactoringTest(); test.setUp(); test.testRenameParameter2(); test.tearDown(); junit.textui.TestRunner.run(RenameParamRefactoringTest.class); } catch (Throwable e) { e.printStackTrace(); } } @Override protected Class<PyRenameParameterProcess> getProcessUnderTest() { return PyRenameParameterProcess.class; } public void testRenameParameter() throws Exception { //Line 1 = "def Method1(param1=param1, param2=None):" //rename param1 Map<Tuple<String, File>, HashSet<ASTEntry>> references = getReferencesForRenameSimple( "reflib.renameparameter.methoddef", 1, 12); assertEquals( "" + "reflib.renameparameter.methodaccess\n" + " ASTEntry<param1 (NameTok L=3 C=9)>\n" + " Line: 2 Method1(param1=10, param2=20) --> Method1(new_name=10, param2=20)\n" + " ASTEntry<param1 (NameTok L=5 C=9)>\n" + " Line: 4 Method1(param1=param1, param2=20) --> Method1(new_name=param1, param2=20)\n" + "\n" + "reflib.renameparameter.methoddef\n" + " ASTEntry<param1 (Name L=2 C=13)>\n" + " Line: 1 def Method1(param1=param1, param2=None): --> def Method1(new_name=param1, param2=None):\n" + " ASTEntry<param1 (Name L=3 C=11)>\n" + " Line: 2 print param1, param2 --> print new_name, param2\n" + "\n" + "", asStr(references)); } public void testRenameParameter2() throws Exception { // def mm(self, barparam):" //rename barparam Map<Tuple<String, File>, HashSet<ASTEntry>> references = getReferencesForRenameSimple( "reflib.renameparameter.methoddef2", 1, 17); assertEquals( "" + "reflib.renameparameter.methoddef2\n" + " ASTEntry<barparam (Name L=2 C=18)>\n" + " Line: 1 def mm(self, barparam): --> def mm(self, new_name):\n" + " ASTEntry<barparam (Name L=4 C=20)>\n" + " Line: 3 @param barparam: this is barparam --> @param new_name: this is barparam\n" + " ASTEntry<barparam (Name L=4 C=38)>\n" + " Line: 3 @param barparam: this is barparam --> @param barparam: this is new_name\n" + " ASTEntry<barparam (NameTok L=7 C=6)>\n" + " Line: 6 f.mm(barparam=10) --> f.mm(new_name=10)\n" + "\n" + "", asStr(references)); } }