package org.bundlemaker.core.itest.simple_artifact_model.analysis; import static org.bundlemaker.core.itestframework.simple_artifact_model.ArtifactAssert.assertResourcesCount; import org.bundlemaker.core.analysis.IModuleArtifact; import org.bundlemaker.core.analysis.selectors.DefaultArtifactSelector; import org.bundlemaker.core.itestframework.simple_artifact_model.AbstractSimpleArtifactModelTest; import org.bundlemaker.core.resource.ITransformationAddArtifacts; import org.bundlemaker.core.resource.ITransformationCreateGroup; import org.bundlemaker.core.resource.ITransformationCreateModule; import org.junit.Assert; import org.junit.Test; /** * <p> * </p> * * @author Gerd Wütherich (gerd@gerd-wuetherich.de) */ public class TransformationHistoryTest extends AbstractSimpleArtifactModelTest { /** * <p> * </p> */ @Test public void createGroupHistory() { // we have a group transformation that is done by the test.... Assert.assertEquals(2, getModularizedSystem().getTransformations().size()); // create a new group getBinModel().getGroup2Artifact().getOrCreateGroup("NewGroup"); // Assert.assertEquals(3, getModularizedSystem().getTransformations().size()); Assert.assertTrue(getModularizedSystem().getTransformations().get(2) instanceof ITransformationCreateGroup); // create a new group getBinModel().getRootArtifact().getOrCreateGroup("NewGroup2"); // Assert.assertEquals(4, getModularizedSystem().getTransformations().size()); Assert.assertTrue(getModularizedSystem().getTransformations().get(2) instanceof ITransformationCreateGroup); Assert.assertTrue(getModularizedSystem().getTransformations().get(3) instanceof ITransformationCreateGroup); } /** * <p> * </p> */ @Test public void createModuleHistory() { // we have a group transformation that is done by the test.... Assert.assertEquals(2, getModularizedSystem().getTransformations().size()); // create a new group getBinModel().getGroup2Artifact().getOrCreateModule("hallo", "1.2.3"); // Assert.assertEquals(3, getModularizedSystem().getTransformations().size()); Assert.assertTrue(getModularizedSystem().getTransformations().get(2) instanceof ITransformationCreateModule); } /** * <p> * </p> */ @Test public void addResourcesHistory() { // we have one transformation (a group transformation) that is done by the test.... Assert.assertEquals(2, getModularizedSystem().getTransformations().size()); // STEP 1: create a new module IModuleArtifact newModuleArtifact = getBinModel().getGroup2Artifact().getOrCreateModule("hallo", "1.2.3"); assertResourcesCount(getBinModel().getMainModuleArtifact(), 2); assertResourcesCount(newModuleArtifact, 0); // assert one 'CreateModuleTransformation' transformation Assert.assertEquals(3, getModularizedSystem().getTransformations().size()); Assert.assertTrue(getModularizedSystem().getTransformations().get(2) instanceof ITransformationCreateModule); // STEP 2: add the 'Klasse' resource newModuleArtifact.addArtifact(getBinModel().getKlasseResource()); assertResourcesCount(getBinModel().getMainModuleArtifact(), 1); assertResourcesCount(newModuleArtifact, 1); // assert 'AddTransformation' transformation Assert.assertEquals(4, getModularizedSystem().getTransformations().size()); Assert.assertTrue(getModularizedSystem().getTransformations().get(3) instanceof ITransformationAddArtifacts); // STEP 3: add the 'Test' resource newModuleArtifact.addArtifact(getBinModel().getTestResource()); assertResourcesCount(getBinModel().getMainModuleArtifact(), 0); assertResourcesCount(newModuleArtifact, 2); // assert 'AddTransformation' transformation Assert.assertEquals(5, getModularizedSystem().getTransformations().size()); Assert.assertTrue(getModularizedSystem().getTransformations().get(4) instanceof ITransformationAddArtifacts); } /** * <p> * </p> */ @Test public void addPackageHistory() { // create a new group IModuleArtifact newModuleArtifact = getBinModel().getGroup2Artifact().getOrCreateModule("hallo", "1.2.3"); assertResourcesCount(getBinModel().getMainModuleArtifact(), 2); assertResourcesCount(newModuleArtifact, 0); // assert one 'CreateModuleTransformation' transformation Assert.assertEquals(3, getModularizedSystem().getTransformations().size()); Assert.assertTrue(getModularizedSystem().getTransformations().get(2) instanceof ITransformationCreateModule); // add the 'de.test' package newModuleArtifact.addArtifact(getBinModel().getTestPackage()); assertResourcesCount(getBinModel().getMainModuleArtifact(), 0); assertResourcesCount(newModuleArtifact, 2); // assert 'AddTransformation' transformation Assert.assertEquals(4, getModularizedSystem().getTransformations().size()); Assert.assertTrue(getModularizedSystem().getTransformations().get(3) instanceof ITransformationAddArtifacts); } }