blob: d68840d48eef1aff618ee63398ee85e9ccf4ef5f [file] [log] [blame]
/**
* Copyright (c) 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.ui.tests.refactoring;
import junit.framework.Test;
import org.eclipse.jdt.testplugin.JavaProjectHelper;
import org.eclipse.ltk.core.refactoring.RefactoringCore;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.internal.corext.refactoring.ParameterInfo;
import org.eclipse.jdt.ui.tests.core.Java18ProjectTestSetup;
public class ChangeSignatureTests18 extends ChangeSignatureTests {
private static final Class<ChangeSignatureTests18> THIS= ChangeSignatureTests18 .class;
private IJavaProject fJProject1;
public ChangeSignatureTests18 (String name) {
super(name);
}
@Override
protected String getRefactoringPath() {
return "ChangeSignature18/";
}
public static Test suite() {
return new Java18ProjectTestSetup(new NoSuperTestsSuite(THIS));
}
public static Test setUpTest(Test test) {
return new Java18ProjectTestSetup(new RefactoringTestSetup(test));
}
@Override
protected void tearDown() throws Exception {
JavaProjectHelper.clear(fJProject1, Java18ProjectTestSetup.getDefaultClasspath());
}
@Override
protected void setUp() throws Exception {
fJProject1= Java18ProjectTestSetup.getProject();
fRoot= JavaProjectHelper.addSourceContainer(fJProject1, "src");
fPackageP= fRoot.createPackageFragment("p", true, null);
fIsPreDeltaTest= false;
RefactoringCore.getUndoManager().flush();
}
// Exchange the method parameters
public void testLambda0() throws Exception {
helper1(new String[]{"j", "i"}, new String[]{"I", "I"});
}
// Add an extra method parameter
public void testLambda1() throws Exception {
String[] signature= { "I" };
String[] newNames= { "j" };
String[] newTypes= { "int" };
String[] newDefaultValues= { "0" };
ParameterInfo[] newParamInfo= createNewParamInfos(newTypes, newNames, newDefaultValues);
int[] newIndices= { 1 };
helperAdd(signature, newParamInfo, newIndices);
}
// Add a new method parameter to an empty parameter method
public void testLambda2() throws Exception {
String[] signature= {};
String[] newNames= { "x" };
String[] newTypes= { "int" };
String[] newDefaultValues= { "0" };
ParameterInfo[] newParamInfo= createNewParamInfos(newTypes, newNames, newDefaultValues);
int[] newIndices= { 0 };
helperAdd(signature, newParamInfo, newIndices);
}
// Rename method
public void testLambda3() throws Exception {
String[] signature= { "QString;" };
helperRenameMethod(signature, "newName", false, true);
}
// Rename method involving method reference
public void testMethodReference0() throws Exception {
String[] signature= {};
helperRenameMethod(signature, "newName", false, true);
}
// TODO Remove a method parameter
}