| /******************************************************************************* |
| * Copyright (c) 2008 University of Illinois at Urbana-Champaign 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: |
| * UIUC - Initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.photran.refactoring.tests.rename; |
| |
| import junit.framework.Test; |
| |
| import org.eclipse.photran.core.vpg.util.LineCol; |
| |
| public class Rename5 extends RenameTestSuite |
| { |
| /////////////////////////////////////////////////////////////////////////// |
| // |
| // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME3.F90, AND |
| // GROUP THEM ACCORDING TO WHICH ONES SHOULD BE RENAMED TOGETHER |
| // |
| /////////////////////////////////////////////////////////////////////////// |
| |
| private String filename = "rename5.f90"; |
| |
| private Ident intrinsic1 = var(filename, "selected_int_kind", new LineCol[] { lc(2,14) }); |
| private Ident intrinsic2 = var(filename, "null", new LineCol[] { lc(29,33) }); |
| |
| //private Ident outerThrice = var(filename, "thrice", new LineCol[] { lc(2,45) }); |
| //private Ident outerThriceImpliedResult = var(filename, "thrice", new LineCol[] { lc(4,3) }); |
| private Ident outerThriceFunctionAndResult = var(filename, "thrice", new LineCol[] { lc(2,45), lc(4,3), lc(5,14), |
| lc(17,12), lc(17,23), lc(45,20)}); // If statement function removed |
| private Ident outerThriceParam = var(filename, "n", new LineCol[] { lc(2,52), lc(3,17) }); |
| |
| private Ident typeType = var(filename, "type", new LineCol[] { lc(7,8), lc(9,12), lc(27,10), lc(29,10), lc(37,9) }); |
| private Ident typeComponent = var(filename, "a", new LineCol[] { lc(8,16), lc(35,7), lc(45,9) }); |
| |
| //private Ident innerThrice = var(filename, "thrice", new LineCol[] { lc(12,3), lc(17,12), lc(17,23), lc(45,20) }); |
| //private Ident innerThriceParam = var(filename, "n", new LineCol[] { lc(12,10), lc(12,17) }); |
| |
| private Ident localN = var(filename, "n", new LineCol[] { lc(14,3), lc(17,30), lc(17,34) }); |
| |
| //private Ident fFunction = var(filename, "f", new LineCol[] { lc(17,38), lc(17,44), lc(23,30), lc(45,27), lc(46,16) }); |
| //private Ident fResult = var(filename, "f", new LineCol[] { lc(47,5), lc(45,16), lc(45,29) }); |
| private Ident fFunctionAndResult = var(filename, "f", new LineCol[] { lc(17,38), lc(17,44), lc(23,30), lc(45,27), lc(46,16), lc(43,5), lc(45,16), lc(45,29) }); |
| private Ident fParam = var(filename, "a", new LineCol[] { lc(23,33), lc(25,16), lc(32,19), lc(35,11), lc(37,14) }); |
| private Ident fx = var(filename, "x", new LineCol[] { lc(27,19), lc(31,15), lc(35,5), lc(37,5), lc(39,10) }); |
| private Ident fp = var(filename, "p", new LineCol[] { lc(29,28), lc(39,5) }); |
| |
| private Ident[] notRenameable = new Ident[] |
| { |
| intrinsic1, intrinsic2, |
| outerThriceParam, /*innerThriceParam,*/ fParam, |
| typeComponent, |
| }; |
| |
| private Ident[] renameable = new Ident[] |
| { |
| outerThriceFunctionAndResult, |
| typeType, |
| /*innerThrice,*/ |
| localN, |
| fFunctionAndResult, |
| fx, |
| fp, |
| }; |
| |
| /////////////////////////////////////////////////////////////////////////// |
| // |
| // TEST CASES |
| // |
| /////////////////////////////////////////////////////////////////////////// |
| |
| public static Test suite() throws Exception |
| { |
| return new Rename5(); |
| } |
| |
| public Rename5() throws Exception |
| { |
| //startTests("Renaming program with a shadowing statement function, implied results, and pointers"); |
| startTests("Renaming program with implied results and pointers"); |
| for (Ident var : notRenameable) |
| addPreconditionTests(var, "z"); |
| for (Ident var : renameable) |
| addSuccessTests(var, "z"); |
| endTests(); |
| } |
| } |