Search in sources :

Example 21 with Flow

use of org.contextmapper.dsl.contextMappingDSL.Flow in project context-mapper-dsl by ContextMapper.

the class SketchMinerModelCreatorTest method canKeepMergingFragmentInfoWhenForking.

@Test
public void canKeepMergingFragmentInfoWhenForking() throws IOException {
    // given
    ContextMappingModel model = getOriginalResourceOfTestCML("restbucks-integ-test.cml").getContextMappingModel();
    Flow flow = EcoreUtil.copy(EcoreUtil2.eAllOfType(model, Flow.class).get(0));
    // when
    String output = new SketchMinerModelCreator().createText(flow);
    // then
    assertEquals("Application:" + System.lineSeparator() + System.lineSeparator() + "// Order [ -> PAYMENT_EXPECTED]" + System.lineSeparator() + "service PlaceOrder" + System.lineSeparator() + "(OrderPlaced)|(PaymentExpected)" + System.lineSeparator() + "..." + System.lineSeparator() + System.lineSeparator() + "..." + System.lineSeparator() + "(OrderPlaced)" + System.lineSeparator() + "// Order [PAYMENT_EXPECTED -> PREPARING X CANCELED]" + System.lineSeparator() + "service Pay" + System.lineSeparator() + "(PaymentSuccessful)" + System.lineSeparator() + "// Order [PREPARING -> READY]" + System.lineSeparator() + "service FinishOrder" + System.lineSeparator() + "(OrderReady)" + System.lineSeparator() + "// Order [READY -> COMPLETED]" + System.lineSeparator() + "service AcceptReceipt" + System.lineSeparator() + "(OrderComplete)" + System.lineSeparator() + System.lineSeparator() + "..." + System.lineSeparator() + "(OrderPlaced)" + System.lineSeparator() + "// Order [PAYMENT_EXPECTED -> PREPARING X CANCELED]" + System.lineSeparator() + "service Pay" + System.lineSeparator() + "(PaymentCancelled)" + System.lineSeparator() + System.lineSeparator() + "..." + System.lineSeparator() + "(PaymentExpected)" + System.lineSeparator() + "// Order [PAYMENT_EXPECTED -> PREPARING X CANCELED]" + System.lineSeparator() + "service Pay" + System.lineSeparator() + "(PaymentSuccessful)" + System.lineSeparator() + "// Order [PREPARING -> READY]" + System.lineSeparator() + "service FinishOrder" + System.lineSeparator() + "(OrderReady)" + System.lineSeparator() + "// Order [READY -> COMPLETED]" + System.lineSeparator() + "service AcceptReceipt" + System.lineSeparator() + "(OrderComplete)" + System.lineSeparator() + System.lineSeparator() + "..." + System.lineSeparator() + "(PaymentExpected)" + System.lineSeparator() + "// Order [PAYMENT_EXPECTED -> PREPARING X CANCELED]" + System.lineSeparator() + "service Pay" + System.lineSeparator() + "(PaymentCancelled)" + System.lineSeparator() + System.lineSeparator(), output);
}
Also used : ContextMappingModel(org.contextmapper.dsl.contextMappingDSL.ContextMappingModel) SketchMinerModelCreator(org.contextmapper.dsl.generator.sketchminer.SketchMinerModelCreator) Flow(org.contextmapper.dsl.contextMappingDSL.Flow) Test(org.junit.jupiter.api.Test) AbstractCMLInputFileTest(org.contextmapper.dsl.AbstractCMLInputFileTest) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 22 with Flow

use of org.contextmapper.dsl.contextMappingDSL.Flow in project context-mapper-dsl by ContextMapper.

the class SketchMinerModelCreatorTest method canRemoveUnderlinesFromNames.

@Test
public void canRemoveUnderlinesFromNames() throws IOException {
    // given
    ContextMappingModel model = getOriginalResourceOfTestCML("underlines-test-1.cml").getContextMappingModel();
    Flow flow = EcoreUtil2.eAllOfType(model, Flow.class).get(0);
    // when
    String output = new SketchMinerModelCreator().createText(flow);
    // then
    assertEquals("TestContext Application:" + System.lineSeparator() + System.lineSeparator() + "(StartEvent)" + System.lineSeparator() + "// TestAggregate [STATE1 -> STATE2]" + System.lineSeparator() + "service Command1" + System.lineSeparator() + "(EndEvent)" + System.lineSeparator() + System.lineSeparator(), output);
}
Also used : ContextMappingModel(org.contextmapper.dsl.contextMappingDSL.ContextMappingModel) SketchMinerModelCreator(org.contextmapper.dsl.generator.sketchminer.SketchMinerModelCreator) Flow(org.contextmapper.dsl.contextMappingDSL.Flow) Test(org.junit.jupiter.api.Test) AbstractCMLInputFileTest(org.contextmapper.dsl.AbstractCMLInputFileTest) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 23 with Flow

use of org.contextmapper.dsl.contextMappingDSL.Flow in project context-mapper-dsl by ContextMapper.

the class SketchMinerModelCreatorTest method canRespectAppLayerName.

@Test
public void canRespectAppLayerName() throws IOException {
    // given
    ContextMappingModel model = getOriginalResourceOfTestCML("app-layer-name-test-1.cml").getContextMappingModel();
    Flow flow = EcoreUtil2.eAllOfType(model, Flow.class).get(0);
    // when
    String output = new SketchMinerModelCreator().createText(flow);
    // then
    assertEquals("MyAppLayer:" + System.lineSeparator() + System.lineSeparator() + "service StartCommand" + System.lineSeparator() + "(FirstEvent)" + System.lineSeparator() + "service EndCommand" + System.lineSeparator() + System.lineSeparator(), output);
}
Also used : ContextMappingModel(org.contextmapper.dsl.contextMappingDSL.ContextMappingModel) SketchMinerModelCreator(org.contextmapper.dsl.generator.sketchminer.SketchMinerModelCreator) Flow(org.contextmapper.dsl.contextMappingDSL.Flow) Test(org.junit.jupiter.api.Test) AbstractCMLInputFileTest(org.contextmapper.dsl.AbstractCMLInputFileTest) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 24 with Flow

use of org.contextmapper.dsl.contextMappingDSL.Flow in project context-mapper-dsl by ContextMapper.

the class SketchMinerModelCreatorTest method canGenerateParallelStep4CommandInvokation.

@ParameterizedTest
@ValueSource(strings = { "simple-sequence-with-parallel-step-test-2", "simple-sequence-with-parallel-step-test-3" })
public void canGenerateParallelStep4CommandInvokation(String inputFileName) throws IOException {
    // given
    ContextMappingModel model = getOriginalResourceOfTestCML(inputFileName + ".cml").getContextMappingModel();
    Flow flow = EcoreUtil2.eAllOfType(model, Flow.class).get(0);
    // when
    String output = new SketchMinerModelCreator().createText(flow);
    // then
    assertEquals("TestContext Application:" + System.lineSeparator() + System.lineSeparator() + "(StartEvent)" + System.lineSeparator() + "service FirstCommand|service SecondCommand" + System.lineSeparator() + "..." + System.lineSeparator() + System.lineSeparator() + "..." + System.lineSeparator() + "service FirstCommand" + System.lineSeparator() + "(EndEvent)" + System.lineSeparator() + System.lineSeparator() + "..." + System.lineSeparator() + "service SecondCommand" + System.lineSeparator() + "(EndEvent)" + System.lineSeparator() + System.lineSeparator(), output);
}
Also used : ContextMappingModel(org.contextmapper.dsl.contextMappingDSL.ContextMappingModel) SketchMinerModelCreator(org.contextmapper.dsl.generator.sketchminer.SketchMinerModelCreator) Flow(org.contextmapper.dsl.contextMappingDSL.Flow) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 25 with Flow

use of org.contextmapper.dsl.contextMappingDSL.Flow in project context-mapper-dsl by ContextMapper.

the class SketchMinerModelCreatorTest method canHandleMultipleInputEvents.

@Test
public void canHandleMultipleInputEvents() throws IOException {
    // given
    ContextMappingModel model = getOriginalResourceOfTestCML("multiple-input-events-test-1.cml").getContextMappingModel();
    Flow flow = EcoreUtil2.eAllOfType(model, Flow.class).get(0);
    // when
    String output = new SketchMinerModelCreator().createText(flow);
    // then
    assertEquals("TestContext Application:" + System.lineSeparator() + System.lineSeparator() + "service StartCommand1" + System.lineSeparator() + "(Event1)" + System.lineSeparator() + "..." + System.lineSeparator() + System.lineSeparator() + "..." + System.lineSeparator() + "(Event1)|(Event2)" + System.lineSeparator() + "service EndCommand" + System.lineSeparator() + System.lineSeparator() + "service StartCommand2" + System.lineSeparator() + "(Event2)" + System.lineSeparator() + "..." + System.lineSeparator() + System.lineSeparator(), output);
}
Also used : ContextMappingModel(org.contextmapper.dsl.contextMappingDSL.ContextMappingModel) SketchMinerModelCreator(org.contextmapper.dsl.generator.sketchminer.SketchMinerModelCreator) Flow(org.contextmapper.dsl.contextMappingDSL.Flow) Test(org.junit.jupiter.api.Test) AbstractCMLInputFileTest(org.contextmapper.dsl.AbstractCMLInputFileTest) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Aggregations

Flow (org.contextmapper.dsl.contextMappingDSL.Flow)30 ContextMappingModel (org.contextmapper.dsl.contextMappingDSL.ContextMappingModel)26 AbstractCMLInputFileTest (org.contextmapper.dsl.AbstractCMLInputFileTest)21 SketchMinerModelCreator (org.contextmapper.dsl.generator.sketchminer.SketchMinerModelCreator)21 Test (org.junit.jupiter.api.Test)21 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)20 SketchMinerLinkCreator (org.contextmapper.dsl.generator.sketchminer.SketchMinerLinkCreator)5 DisabledOnOs (org.junit.jupiter.api.condition.DisabledOnOs)4 ValueSource (org.junit.jupiter.params.provider.ValueSource)4 List (java.util.List)2 Aggregate (org.contextmapper.dsl.contextMappingDSL.Aggregate)2 BoundedContext (org.contextmapper.dsl.contextMappingDSL.BoundedContext)2 PlantUMLStateDiagramCreator4Flow (org.contextmapper.dsl.generator.plantuml.PlantUMLStateDiagramCreator4Flow)2 StateTransition (org.contextmapper.tactic.dsl.tacticdsl.StateTransition)2 EObject (org.eclipse.emf.ecore.EObject)2 Lists (com.google.common.collect.Lists)1 Optional (java.util.Optional)1 Collectors (java.util.stream.Collectors)1 Domain (org.contextmapper.dsl.contextMappingDSL.Domain)1 DomainEventProductionStep (org.contextmapper.dsl.contextMappingDSL.DomainEventProductionStep)1