// This product is provided under the terms of EPL (Eclipse Public License)
// version 1.0.
//
// The full license text can be read from: http://www.eclipse.org/org/documents/epl-v10.php
package org.dtangler.genericengine.dependencyengine;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.dtangler.core.configuration.Arguments;
import org.dtangler.core.dependencies.Dependable;
import org.dtangler.core.dependencies.Dependencies;
import org.dtangler.core.dependencies.DependencyGraph;
import org.dtangler.core.testutil.ClassPathEntryFinder;
import org.junit.Test;
public class GenericDependencyEngineTest {
@Test
public void testDependencies() {
String corePath = ClassPathEntryFinder.getPathContaining("core");
String dtPath = corePath
+ "/org/dtangler/genericengine/dependencyengine/testdata/test.dt";
Arguments args = new Arguments();
args.setInput(Arrays.asList(dtPath));
GenericDependencyEngine engine = new GenericDependencyEngine();
Dependencies dependencies = engine.getDependencies(args);
DependencyGraph deps = dependencies.getDependencyGraph(
dependencies.getDefaultScope());
assertEquals("scope2", dependencies.getDefaultScope().getDisplayName());
List<String> items = getItemNames(deps.getAllItems());
assertEquals(2, items.size());
assertTrue(items.containsAll(new HashSet<String>(Arrays
.asList("item1", "item2"))));
}
private List<String> getItemNames(Set<Dependable> items) {
List<String> names = new ArrayList<String>();
for (Dependable dep : items) {
names.add(dep.getDisplayName());
}
return names;
}
}