Skip to content

Commit

Permalink
[542] Enable Action's sub-node creation tests for free form items
Browse files Browse the repository at this point in the history
Bug: #542
Signed-off-by: Gwendal Daniel <gwendal.daniel@obeosoft.com>
  • Loading branch information
gdaniel authored and AxelRICHARD committed Jul 15, 2024
1 parent 5bc3552 commit 5f2049f
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 22 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@ The tool now works correctly on packages, and doesn't render sibling elements wh
- https://github.com/eclipse-syson/syson/issues/519[#519] [diagrams] Add tools for creating _Items_ on _ActionDefinition_ in GeneralView and ActionFlowView.
- https://github.com/eclipse-syson/syson/issues/504[#504] [syson] Add private and protected visibility decorators on all elements
- https://github.com/eclipse-syson/syson/issues/540[#540] [syson] Allow the creation of sub-Packages in the model explorer
- https://github.com/eclipse-syson/syson/issues/542[#542] [tests] Enable Action's sub-node creation tests for free form items
These tests were de-activated because of an issue in https://github.com/eclipse-syson/syson/issues/542[Sirius Web].

=== New features

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@
import org.eclipse.syson.application.controllers.diagrams.testers.NodeCreationTester;
import org.eclipse.syson.application.controllers.utils.TestNameGenerator;
import org.eclipse.syson.application.data.SysMLv2Identifiers;
import org.eclipse.syson.diagram.common.view.nodes.DecisionActionNodeDescriptionProvider;
import org.eclipse.syson.diagram.common.view.nodes.ForkActionNodeDescriptionProvider;
import org.eclipse.syson.diagram.common.view.nodes.JoinActionNodeDescriptionProvider;
import org.eclipse.syson.diagram.common.view.nodes.MergeActionNodeDescriptionProvider;
import org.eclipse.syson.diagram.common.view.services.description.ReferencingPerformActionUsageNodeDescriptionService;
import org.eclipse.syson.diagram.general.view.GVDescriptionNameGenerator;
import org.eclipse.syson.services.SemanticCheckerFactory;
Expand Down Expand Up @@ -356,16 +360,11 @@ private static Stream<Arguments> actionUsageListNodeParameters() {
private static Stream<Arguments> actionUsageListAndFreeFormNodeParameters() {
return Stream.of(
Arguments.of(SysmlPackage.eINSTANCE.getAcceptActionUsage(), ACTIONS_COMPARTMENT, SysmlPackage.eINSTANCE.getUsage_NestedAction(), 1),
Arguments.of(SysmlPackage.eINSTANCE.getActionUsage(), ACTIONS_COMPARTMENT, SysmlPackage.eINSTANCE.getUsage_NestedAction(), 4))
// Uncomment when https://github.com/eclipse-sirius/sirius-web/issues/3650 is fixed
// Arguments.of(SysmlPackage.eINSTANCE.getDecisionNode(), "actions",
// SysmlPackage.eINSTANCE.getUsage_NestedAction(), 0),
// Arguments.of(SysmlPackage.eINSTANCE.getForkNode(), "actions",
// SysmlPackage.eINSTANCE.getUsage_NestedAction(), 0),
// Arguments.of(SysmlPackage.eINSTANCE.getJoinNode(), "actions",
// SysmlPackage.eINSTANCE.getUsage_NestedAction(), 0),
// Arguments.of(SysmlPackage.eINSTANCE.getMergeNode(), "actions",
// SysmlPackage.eINSTANCE.getUsage_NestedAction(), 0))
Arguments.of(SysmlPackage.eINSTANCE.getActionUsage(), ACTIONS_COMPARTMENT, SysmlPackage.eINSTANCE.getUsage_NestedAction(), 4),
Arguments.of(SysmlPackage.eINSTANCE.getDecisionNode(), ACTIONS_COMPARTMENT, SysmlPackage.eINSTANCE.getUsage_NestedAction(), 0),
Arguments.of(SysmlPackage.eINSTANCE.getForkNode(), ACTIONS_COMPARTMENT, SysmlPackage.eINSTANCE.getUsage_NestedAction(), 0),
Arguments.of(SysmlPackage.eINSTANCE.getJoinNode(), ACTIONS_COMPARTMENT, SysmlPackage.eINSTANCE.getUsage_NestedAction(), 0),
Arguments.of(SysmlPackage.eINSTANCE.getMergeNode(), ACTIONS_COMPARTMENT, SysmlPackage.eINSTANCE.getUsage_NestedAction(), 0))
.map(TestNameGenerator::namedArguments);
}

Expand All @@ -378,16 +377,11 @@ private static Stream<Arguments> actionDefinitionSiblingNodeParameters() {
private static Stream<Arguments> actionDefinitionListAndFreeFormNodeParameters() {
return Stream.of(
Arguments.of(SysmlPackage.eINSTANCE.getAcceptActionUsage(), ACTIONS_COMPARTMENT, SysmlPackage.eINSTANCE.getDefinition_OwnedAction(), 1),
Arguments.of(SysmlPackage.eINSTANCE.getActionUsage(), ACTIONS_COMPARTMENT, SysmlPackage.eINSTANCE.getDefinition_OwnedAction(), 4))
// Uncomment when https://github.com/eclipse-sirius/sirius-web/issues/3650 is fixed
// Arguments.of(SysmlPackage.eINSTANCE.getDecisionNode(), "actions",
// SysmlPackage.eINSTANCE.getDefinition_OwnedAction(), 0),
// Arguments.of(SysmlPackage.eINSTANCE.getForkNode(), "actions",
// SysmlPackage.eINSTANCE.getDefinition_OwnedAction(), 0),
// Arguments.of(SysmlPackage.eINSTANCE.getJoinNode(), "actions",
// SysmlPackage.eINSTANCE.getDefinition_OwnedAction(), 0),
// Arguments.of(SysmlPackage.eINSTANCE.getMergeNode(), "actions",
// SysmlPackage.eINSTANCE.getDefinition_OwnedAction(), 0))
Arguments.of(SysmlPackage.eINSTANCE.getActionUsage(), ACTIONS_COMPARTMENT, SysmlPackage.eINSTANCE.getDefinition_OwnedAction(), 4),
Arguments.of(SysmlPackage.eINSTANCE.getDecisionNode(), ACTIONS_COMPARTMENT, SysmlPackage.eINSTANCE.getDefinition_OwnedAction(), 0),
Arguments.of(SysmlPackage.eINSTANCE.getForkNode(), ACTIONS_COMPARTMENT, SysmlPackage.eINSTANCE.getDefinition_OwnedAction(), 0),
Arguments.of(SysmlPackage.eINSTANCE.getJoinNode(), ACTIONS_COMPARTMENT, SysmlPackage.eINSTANCE.getDefinition_OwnedAction(), 0),
Arguments.of(SysmlPackage.eINSTANCE.getMergeNode(), ACTIONS_COMPARTMENT, SysmlPackage.eINSTANCE.getDefinition_OwnedAction(), 0))
.map(TestNameGenerator::namedArguments);
}

Expand Down Expand Up @@ -965,7 +959,8 @@ public void createActionUsageListAndFreeFormChildNodes(EClass childEClass, Strin
.hasNodeDescriptionName(listNodeDescription)
.hasCompartmentCount(0)
.check(initialDiagram, newDiagram);
String freeFormNodeDescription = this.descriptionNameGenerator.getNodeName(childEClass);
String nodeName = this.getActionFlowNodeName(childEClass);
String freeFormNodeDescription = this.descriptionNameGenerator.getNodeName(nodeName);
new CheckNodeInCompartment(this.diagramDescriptionIdProvider, this.diagramComparator)
.withParentLabel(parentLabel)
.withCompartmentName("action flow")
Expand Down Expand Up @@ -1102,7 +1097,8 @@ public void createActionDefinitionListAndFreeFormChildNodes(EClass childEClass,
.hasNodeDescriptionName(listNodeDescription)
.hasCompartmentCount(0)
.check(initialDiagram, newDiagram);
String freeFormNodeDescription = this.descriptionNameGenerator.getNodeName(childEClass);
String nodeName = this.getActionFlowNodeName(childEClass);
String freeFormNodeDescription = this.descriptionNameGenerator.getNodeName(nodeName);
new CheckNodeInCompartment(this.diagramDescriptionIdProvider, this.diagramComparator)
.withParentLabel(parentLabel)
.withCompartmentName("action flow")
Expand Down Expand Up @@ -1408,4 +1404,19 @@ private ISemanticChecker getElementInParentSemanticChecker(String parentLabel, E
.withContainmentReference(containmentReference)
.hasType(childEClass);
}

private String getActionFlowNodeName(EClass eClass) {
assertThat(eClass).isNotNull();
String result = eClass.getName();
if (SysmlPackage.eINSTANCE.getDecisionNode().equals(eClass)) {
result = DecisionActionNodeDescriptionProvider.DECISION_ACTION_NAME;
} else if (SysmlPackage.eINSTANCE.getForkNode().equals(eClass)) {
result = ForkActionNodeDescriptionProvider.FORK_ACTION_NAME;
} else if (SysmlPackage.eINSTANCE.getJoinNode().equals(eClass)) {
result = JoinActionNodeDescriptionProvider.JOIN_ACTION_NAME;
} else if (SysmlPackage.eINSTANCE.getMergeNode().equals(eClass)) {
result = MergeActionNodeDescriptionProvider.MERGE_ACTION_NAME;
}
return result;
}
}

0 comments on commit 5f2049f

Please sign in to comment.