package org.bundlemaker.core.itest.misc_models; import java.io.IOException; import org.bundlemaker.core.analysis.AnalysisCore; import org.bundlemaker.core.analysis.AnalysisModelConfiguration; import org.bundlemaker.core.analysis.DependencyKind; import org.bundlemaker.core.analysis.IBundleMakerArtifact; import org.bundlemaker.core.analysis.IDependency; import org.bundlemaker.core.itestframework.AbstractBundleMakerModelTest; import org.eclipse.core.runtime.CoreException; import org.junit.Assert; import org.junit.Test; /** * <p> * </p> * * @author Gerd Wütherich (gerd@gerd-wuetherich.de) */ public class NoPrimaryTypeTest extends AbstractBundleMakerModelTest { /** * <p> * </p> * * @throws CoreException * @throws IOException */ @Test public void testNoPrimaryType_aggregatedTypes() throws CoreException, IOException { // Step 1: transform the model IBundleMakerArtifact rootArtifact = AnalysisCore.getAnalysisModel(getModularizedSystem(), AnalysisModelConfiguration.SOURCE_RESOURCES_CONFIGURATION).getRoot(); Assert.assertNotNull(rootArtifact); // IBundleMakerArtifact moduleArtifact = rootArtifact.getChild("NoPrimaryTypeTest_1.0.0"); Assert.assertNotNull(moduleArtifact); // IBundleMakerArtifact clientTypeArtifact = moduleArtifact .getChild("org.bundlemaker.noprimarytype|Client.java|org.bundlemaker.noprimarytype.Client"); Assert.assertNotNull(clientTypeArtifact); // IBundleMakerArtifact noPrimaryTestInterfaceTypeArtifact = moduleArtifact .getChild("org.bundlemaker.noprimarytype|TestInterface.java|org.bundlemaker.noprimarytype.NoPrimaryTestInterface"); Assert.assertNotNull(noPrimaryTestInterfaceTypeArtifact); Assert.assertEquals(1, moduleArtifact.getDependenciesTo().size()); IDependency dependency = clientTypeArtifact.getDependencyTo(noPrimaryTestInterfaceTypeArtifact); Assert.assertNotNull(dependency); Assert.assertEquals(clientTypeArtifact, dependency.getFrom()); Assert.assertEquals(noPrimaryTestInterfaceTypeArtifact, dependency.getTo()); Assert.assertEquals(DependencyKind.USES, dependency.getDependencyKind()); } }