|
94 | 94 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) |
95 | 95 | public class GVSubNodeActionFlowCreationTests extends AbstractIntegrationTests { |
96 | 96 |
|
| 97 | + private static final String PARAMETERS = "parameters"; |
| 98 | + |
97 | 99 | private static final String ACTION = "action"; |
98 | 100 |
|
99 | 101 | private static final String ACTIONS_COMPARTMENT = "actions"; |
@@ -162,7 +164,23 @@ private static Stream<Arguments> actionUsageListNodeParameters() { |
162 | 164 |
|
163 | 165 | private static Stream<Arguments> actionUsageBorderAndChildNodeParameters() { |
164 | 166 | return Stream.of( |
165 | | - Arguments.of(SysmlPackage.eINSTANCE.getPortUsage(), "ports", SysmlPackage.eINSTANCE.getUsage_NestedPort(), SysmlPackage.eINSTANCE.getPortUsage())) |
| 167 | + Arguments.of(SysmlPackage.eINSTANCE.getReferenceUsage(), PARAMETERS, SysmlPackage.eINSTANCE.getUsage_NestedReference(), SysmlPackage.eINSTANCE.getReferenceUsage(), |
| 168 | + "New Parameter In"), |
| 169 | + Arguments.of(SysmlPackage.eINSTANCE.getReferenceUsage(), PARAMETERS, SysmlPackage.eINSTANCE.getUsage_NestedReference(), SysmlPackage.eINSTANCE.getReferenceUsage(), |
| 170 | + "New Parameter Inout"), |
| 171 | + Arguments.of(SysmlPackage.eINSTANCE.getReferenceUsage(), PARAMETERS, SysmlPackage.eINSTANCE.getUsage_NestedReference(), SysmlPackage.eINSTANCE.getReferenceUsage(), |
| 172 | + "New Parameter Out")) |
| 173 | + .map(TestNameGenerator::namedArguments); |
| 174 | + } |
| 175 | + |
| 176 | + private static Stream<Arguments> actionDefinitionBorderAndChildNodeParameters() { |
| 177 | + return Stream.of( |
| 178 | + Arguments.of(SysmlPackage.eINSTANCE.getReferenceUsage(), PARAMETERS, SysmlPackage.eINSTANCE.getDefinition_OwnedReference(), SysmlPackage.eINSTANCE.getReferenceUsage(), |
| 179 | + "New Parameter In"), |
| 180 | + Arguments.of(SysmlPackage.eINSTANCE.getReferenceUsage(), PARAMETERS, SysmlPackage.eINSTANCE.getDefinition_OwnedReference(), SysmlPackage.eINSTANCE.getReferenceUsage(), |
| 181 | + "New Parameter Inout"), |
| 182 | + Arguments.of(SysmlPackage.eINSTANCE.getReferenceUsage(), PARAMETERS, SysmlPackage.eINSTANCE.getDefinition_OwnedReference(), SysmlPackage.eINSTANCE.getReferenceUsage(), |
| 183 | + "New Parameter Out")) |
166 | 184 | .map(TestNameGenerator::namedArguments); |
167 | 185 | } |
168 | 186 |
|
@@ -227,7 +245,7 @@ public void setUp() { |
227 | 245 | public void tearDown() { |
228 | 246 | if (this.verifier != null) { |
229 | 247 | this.verifier.thenCancel() |
230 | | - .verify(Duration.ofSeconds(10)); |
| 248 | + .verify(Duration.ofSeconds(1000)); |
231 | 249 | } |
232 | 250 | } |
233 | 251 |
|
@@ -386,10 +404,42 @@ public void createActionUsageListChildNodes(EClass childEClass, String compartme |
386 | 404 | @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) |
387 | 405 | @ParameterizedTest |
388 | 406 | @MethodSource("actionUsageBorderAndChildNodeParameters") |
389 | | - public void createActionUsageBorderAndChildNodes(EClass childEClass, String compartmentName, EReference containmentReference, EClass borderNodeType) { |
| 407 | + public void createActionUsageBorderAndChildNodes(EClass childEClass, String compartmentName, EReference containmentReference, EClass borderNodeType, String toolName) { |
390 | 408 | EClass parentEClass = SysmlPackage.eINSTANCE.getActionUsage(); |
391 | 409 | String parentLabel = ACTION; |
392 | | - this.creationTestsService.createNode(this.verifier, this.diagramDescriptionIdProvider, this.diagram, parentEClass, parentLabel, childEClass); |
| 410 | + this.creationTestsService.createNode(this.verifier, this.diagramDescriptionIdProvider, this.diagram, parentEClass, parentLabel, toolName); |
| 411 | + IDiagramChecker diagramChecker = (initialDiagram, newDiagram) -> { |
| 412 | + new CheckDiagramElementCount(this.diagramComparator) |
| 413 | + .hasNewNodeCount(2) |
| 414 | + .hasNewBorderNodeCount(1) |
| 415 | + .hasNewEdgeCount(0) |
| 416 | + .check(initialDiagram, newDiagram); |
| 417 | + String compartmentNodeDescription = this.descriptionNameGenerator.getCompartmentItemName(parentEClass, containmentReference); |
| 418 | + new CheckNodeInCompartment(this.diagramDescriptionIdProvider, this.diagramComparator) |
| 419 | + .withParentLabel(parentLabel) |
| 420 | + .withCompartmentName(compartmentName) |
| 421 | + .hasNodeDescriptionName(compartmentNodeDescription) |
| 422 | + .hasCompartmentCount(0) |
| 423 | + .check(initialDiagram, newDiagram); |
| 424 | + String borderNodeDescription = this.descriptionNameGenerator.getBorderNodeName(borderNodeType); |
| 425 | + new CheckBorderNode(this.diagramDescriptionIdProvider, this.diagramComparator) |
| 426 | + .withParentLabel(parentLabel) |
| 427 | + .hasBorderNodeDescriptionName(borderNodeDescription) |
| 428 | + .check(initialDiagram, newDiagram); |
| 429 | + }; |
| 430 | + this.diagramCheckerService.checkDiagram(diagramChecker, this.diagram, this.verifier); |
| 431 | + this.semanticCheckerService.checkEditingContext(this.semanticCheckerService.getElementInParentSemanticChecker(parentLabel, containmentReference, childEClass), this.verifier); |
| 432 | + } |
| 433 | + |
| 434 | + @Sql(scripts = { GeneralViewWithTopNodesTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, |
| 435 | + config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) |
| 436 | + @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) |
| 437 | + @ParameterizedTest |
| 438 | + @MethodSource("actionDefinitionBorderAndChildNodeParameters") |
| 439 | + public void createActionDefinitionBorderAndChildNodes(EClass childEClass, String compartmentName, EReference containmentReference, EClass borderNodeType, String toolName) { |
| 440 | + EClass parentEClass = SysmlPackage.eINSTANCE.getActionDefinition(); |
| 441 | + String parentLabel = "ActionDefinition"; |
| 442 | + this.creationTestsService.createNode(this.verifier, this.diagramDescriptionIdProvider, this.diagram, parentEClass, parentLabel, toolName); |
393 | 443 | IDiagramChecker diagramChecker = (initialDiagram, newDiagram) -> { |
394 | 444 | new CheckDiagramElementCount(this.diagramComparator) |
395 | 445 | .hasNewNodeCount(2) |
@@ -568,7 +618,8 @@ public void createActionDefinitionSiblingNodes(EClass childEClass, EReference co |
568 | 618 | EClass parentEClass = SysmlPackage.eINSTANCE.getActionDefinition(); |
569 | 619 | String parentLabel = "ActionDefinition"; |
570 | 620 | this.creationTestsService.createNode(this.verifier, this.diagramDescriptionIdProvider, this.diagram, parentEClass, parentLabel, childEClass); |
571 | | - this.diagramCheckerService.checkDiagram(this.diagramCheckerService.getSiblingNodeGraphicalChecker(this.diagram, this.diagramDescriptionIdProvider, childEClass, compartmentCount), this.diagram, |
| 621 | + this.diagramCheckerService.checkDiagram(this.diagramCheckerService.getSiblingNodeGraphicalChecker(this.diagram, this.diagramDescriptionIdProvider, childEClass, compartmentCount, 2), |
| 622 | + this.diagram, |
572 | 623 | this.verifier); |
573 | 624 | this.semanticCheckerService.checkEditingContext(this.semanticCheckerService.getElementInParentSemanticChecker(parentLabel, containmentReference, childEClass), this.verifier); |
574 | 625 | } |
|
0 commit comments