/******************************************************************************* * Copyright (c) 2013 Sonatype, Inc. * 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: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ package org.eclipse.aether.internal.test.util; import java.util.List; import org.eclipse.aether.DefaultRepositorySystemSession; import org.eclipse.aether.RepositorySystemSession; import org.eclipse.aether.artifact.Artifact; import org.eclipse.aether.collection.DependencyCollectionContext; import org.eclipse.aether.collection.DependencyGraphTransformationContext; import org.eclipse.aether.collection.VersionFilter; import org.eclipse.aether.graph.Dependency; import org.eclipse.aether.resolution.VersionRangeResult; /** * Utility methods to help unit testing. */ public class TestUtils { private TestUtils() { // hide constructor } /** * Creates a new repository session whose local repository manager is initialized with an instance of * {@link TestLocalRepositoryManager}. */ public static DefaultRepositorySystemSession newSession() { DefaultRepositorySystemSession session = new DefaultRepositorySystemSession(); session.setLocalRepositoryManager( new TestLocalRepositoryManager() ); return session; } /** * Creates a new dependency collection context. */ public static DependencyCollectionContext newCollectionContext( RepositorySystemSession session, Dependency dependency, List<Dependency> managedDependencies ) { return new TestDependencyCollectionContext( session, null, dependency, managedDependencies ); } /** * Creates a new dependency collection context. */ public static DependencyCollectionContext newCollectionContext( RepositorySystemSession session, Artifact artifact, Dependency dependency, List<Dependency> managedDependencies ) { return new TestDependencyCollectionContext( session, artifact, dependency, managedDependencies ); } /** * Creates a new dependency graph transformation context. */ public static DependencyGraphTransformationContext newTransformationContext( RepositorySystemSession session ) { return new TestDependencyGraphTransformationContext( session ); } /** * Creates a new version filter context from the specified session and version range result. */ public static VersionFilter.VersionFilterContext newVersionFilterContext( RepositorySystemSession session, VersionRangeResult rangeResult ) { return new TestVersionFilterContext( session, rangeResult ); } }