blob: b0ba4078b9a36d91b9db98f41ef5771dfc14814a [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.vpg;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.photran.internal.core.vpg.PhotranVPG;
import org.eclipse.photran.internal.tests.RefactoringTestCase;
/**
* Unit tests for {@link PhotranVPG#listAllModules()}
*
* @author Jeff Overbey
*/
public class ListAllModulesTests extends RefactoringTestCase
{
private static final String DIR = "vpg-test-code/list-modules";
@Override public void setUp() throws Exception
{
super.setUp();
/* The files are imported in this order so that the USE
* statement in use-module1.f90 is seen /before/
* the module declaration, while the USE statement for
* module 4 is seen after it. Module2 and module3
* are not used.
*/
importFile(DIR, "use-module1.f90");
importFile(DIR, "module1.f90");
importFile(DIR, "module2-module3.f90");
importFile(DIR, "module4.f90");
importFile(DIR, "use-module4.f90");
PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
//PhotranVPG.getDatabase().printOn(System.out);
}
public void testListAllModules() throws Exception
{
assertCollectionsEqual(
new String[] { "module1", "module2", "module3", "module4" },
PhotranVPG.getInstance().listAllModules());
}
private <T> void assertCollectionsEqual(T[] expectedArray, Iterable<T> actualIterable)
{
List<T> expected = Arrays.asList(expectedArray);
List<T> actual = new ArrayList<T>();
for (T entry : actualIterable)
actual.add(entry);
assertEquals(expected, actual);
}
}