Search in sources :

Example 1 with Flow

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

the class SketchMinerModelCreatorTest method ignoreAggregateRefWithoutStateTransition.

@Test
public void ignoreAggregateRefWithoutStateTransition() throws IOException {
    // given
    ContextMappingModel model = getOriginalResourceOfTestCML("aggregate-without-state-transition-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() + "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 2 with Flow

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

the class SketchMinerModelCreatorTest method canUseFallbackAppName.

@Test
public void canUseFallbackAppName() throws IOException {
    // given
    ContextMappingModel model = getOriginalResourceOfTestCML("app-layer-name-test-1.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() + "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 3 with Flow

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

the class SketchMinerModelCreatorTest method canGenerateExclusiveAlternativeGate4EventProductionSteps.

@ParameterizedTest
@ValueSource(strings = { "exclusive-gate-event-test-1", "exclusive-gate-event-test-2", "exclusive-gate-event-test-3" })
public void canGenerateExclusiveAlternativeGate4EventProductionSteps(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() + "service StartCommand" + System.lineSeparator() + "(FirstEvent)" + System.lineSeparator() + "service EndCommand" + System.lineSeparator() + System.lineSeparator() + "service StartCommand" + System.lineSeparator() + "(SecondEvent)" + 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) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 4 with Flow

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

the class SketchMinerModelCreatorTest method canHandleLoopsWithMultipleEnds.

@Test
public void canHandleLoopsWithMultipleEnds() throws IOException {
    // given
    ContextMappingModel model = getOriginalResourceOfTestCML("loop-test-3.cml").getContextMappingModel();
    Flow flow = EcoreUtil2.eAllOfType(model, Flow.class).get(0);
    // when
    String output = new SketchMinerModelCreator().createText(flow);
    // then
    assertEquals("A1:" + System.lineSeparator() + System.lineSeparator() + "(InitialEvent)" + System.lineSeparator() + "(DE1)" + System.lineSeparator() + "service C1" + System.lineSeparator() + "(DE2)|(DE1)" + System.lineSeparator() + "..." + System.lineSeparator() + System.lineSeparator() + "..." + System.lineSeparator() + "(DE2)" + 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 5 with Flow

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

the class PlantUMLStateDiagramCreatorTest method canCreateStateDiagram4FlowDefinition.

@Test
public void canCreateStateDiagram4FlowDefinition() throws IOException {
    // given
    ContextMappingModel model = getOriginalResourceOfTestCML("state-diagram-generation-flow-test.cml").getContextMappingModel();
    // when
    Flow flow = model.getBoundedContexts().get(0).getApplication().getFlows().get(0);
    String stateDiagram = new PlantUMLStateDiagramCreator4Flow().createDiagram(flow);
    // then
    assertEquals("@startuml" + System.lineSeparator() + System.lineSeparator() + "skinparam componentStyle uml2" + System.lineSeparator() + System.lineSeparator() + "RECEIVED : " + System.lineSeparator() + "ACCEPTED : " + System.lineSeparator() + "POLICY_CREATED : " + System.lineSeparator() + "EXPIRED : " + System.lineSeparator() + "SUBMITTED : " + System.lineSeparator() + "REJECTED : " + System.lineSeparator() + "[*] --> SUBMITTED : SubmitRequest" + System.lineSeparator() + "SUBMITTED --> RECEIVED : checkRequest" + System.lineSeparator() + "SUBMITTED --> REJECTED : checkRequest" + System.lineSeparator() + "RECEIVED --> ACCEPTED : receiveAndCheckQuote" + System.lineSeparator() + "RECEIVED --> EXPIRED : receiveAndCheckQuote" + System.lineSeparator() + "RECEIVED --> REJECTED : receiveAndCheckQuote" + System.lineSeparator() + "ACCEPTED --> POLICY_CREATED : accept" + System.lineSeparator() + "ACCEPTED --> EXPIRED : accept" + System.lineSeparator() + System.lineSeparator() + System.lineSeparator() + "legend top center" + System.lineSeparator() + "  QuoteFlow State Transitions" + System.lineSeparator() + "endlegend" + System.lineSeparator() + System.lineSeparator() + "@enduml" + System.lineSeparator() + "", stateDiagram);
}
Also used : ContextMappingModel(org.contextmapper.dsl.contextMappingDSL.ContextMappingModel) PlantUMLStateDiagramCreator4Flow(org.contextmapper.dsl.generator.plantuml.PlantUMLStateDiagramCreator4Flow) PlantUMLStateDiagramCreator4Flow(org.contextmapper.dsl.generator.plantuml.PlantUMLStateDiagramCreator4Flow) Flow(org.contextmapper.dsl.contextMappingDSL.Flow) Test(org.junit.jupiter.api.Test) AbstractCMLInputFileTest(org.contextmapper.dsl.AbstractCMLInputFileTest)

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