blob: 21de08ca7bfe7113aae6dc31806422c330438790 [file] [log] [blame]
/*
* Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation
//
package org.eclipse.persistence.jpa.tests.jpql.tools;
import org.eclipse.persistence.jpa.jpql.tools.BasicRefactoringTool;
import org.eclipse.persistence.jpa.jpql.tools.DefaultBasicRefactoringTool;
import org.eclipse.persistence.jpa.tests.jpql.UniqueSignature;
import org.junit.Test;
/**
* The abstract definition of a unit-test that tests
* {@link BasicRefactoringTool BasicRefactoringTool} when the JPA version is 2.1.
*
* @version 2.5
* @since 2.4
* @author Pascal Filion
*/
@UniqueSignature
@SuppressWarnings("nls")
public final class BasicRefactoringToolTest2_1 extends AbstractBasicRefactoringToolTest {
private BasicRefactoringTool buildRefactoringTool(String jpqlQuery) throws Exception {
return new DefaultBasicRefactoringTool(jpqlQuery, getGrammar(), getPersistenceUnit());
}
@Test
public void test_RenameClassName_1() throws Exception {
String jpqlQuery = "SELECT e FROM test.oracle.employee.Employee e";
BasicRefactoringTool refactoringTool = buildRefactoringTool(jpqlQuery);
int offset = "SELECT e FROM ".length();
String oldValue = "test.oracle.employee.Employee";
String newValue = "oracle.project.Employee";
refactoringTool.renameClassName(oldValue, newValue);
String expected = "SELECT e FROM oracle.project.Employee e";
testChange(refactoringTool, jpqlQuery, expected, offset, oldValue, newValue);
}
@Test
public void test_RenameEntity_1() throws Exception {
String jpqlQuery = "Select e fRoM Employee e JoiN TrEaT(e.projects aS LargeProject) lp";
BasicRefactoringTool refactoringTool = buildRefactoringTool(jpqlQuery);
int offset = "Select e fRoM Employee e JoiN TrEaT(e.projects aS ".length();
String oldValue = "LargeProject";
String newValue = "SmallProject";
refactoringTool.renameEntityName(oldValue, newValue);
String expected = "Select e fRoM Employee e JoiN TrEaT(e.projects aS SmallProject) lp";
testChange(refactoringTool, jpqlQuery, expected, offset, oldValue, newValue);
}
}