blob: 07d8fbcf284cdb65500cc3afcf1a4ac17996c76d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009 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.internal.tests.refactoring.minonlylist;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.eclipse.photran.internal.core.util.LineCol;
/**
*
* @author Kurt Hendle
*/
public class MinOnlyListTestSuite extends TestSuite
{
public static Test suite() throws Exception
{
TestSuite suite = new TestSuite();
//1. functionality test - all module entities used, remove list
String[] test1Files = {"test1.f90", "module.f90"};
suite.addTest(successTest(test1Files, new LineCol(2,9), 6));
//2. functionality test - remove the unused module entity from the list
String[] test2Files = {"test2.f90", "module.f90"};
suite.addTest(successTest(test2Files, new LineCol(2,9), 6));
//3. functionality test - no module entities used, remove the use statement
String[] test3Files = {"test3.f90", "module.f90"};
suite.addTest(successTest(test3Files, new LineCol(2,9), 6));
//4. precondition test - select empty module name
String[] test4and5Files = {"test4_5.f90", "module.f90"};
suite.addTest(preconditionTest(test4and5Files, new LineCol(2,9), 0));
//5. precondition test - empty module selected
suite.addTest(preconditionTest(test4and5Files, new LineCol(3,9), 11));
//6. precondition test - nonexistant module selected
String[] test6Files = {"test6.f90", "module.f90"};
suite.addTest(preconditionTest(test6Files, new LineCol(3,9), 11));
//7. precondition test - select entity which is not module
String[] test7Files = {"test7.f90", "module.f90"};
suite.addTest(preconditionTest(test7Files, new LineCol(4,16), 1));
//8. functionality test - renamed module var, module same file
String[] test8Files = {"program3.f90"};
suite.addTest(successTest(test8Files, new LineCol(6,9), 1));
//9. functionality test - remove an unused entity, module same file
String[] test9Files = {"program2.f90"};
suite.addTest(successTest(test9Files, new LineCol(6,9), 1));
//10. functionality test - no only list, 1 unused, module same file
String[] test10Files = {"program1.f90"};
suite.addTest(successTest(test10Files, new LineCol(6,9), 1));
return suite;
}
private static TestSuite successTest(String[] filenames, LineCol position, int length)
{
TestSuite subSuite = new TestSuite("Minimizing only List - " + filenames[0]);
subSuite.addTest(new MinOnlyListTestCase(filenames, position, length, false));
return subSuite;
}
private static TestSuite preconditionTest(String[] filenames, LineCol position, int length)
{
TestSuite subSuite = new TestSuite("Testing preconditions for minimizing only list - " +
filenames[0]);
subSuite.addTest(new MinOnlyListTestCase(filenames, position, length, true));
return subSuite;
}
}