| /* |
| * Copyright (c) 2018 CEA, and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Eike Stepper - initial API and implementation |
| */ |
| package org.eclipse.uml2.uml.cdo.tests.compliance; |
| |
| import org.eclipse.emf.common.util.EList; |
| |
| import org.eclipse.emf.ecore.EAnnotation; |
| |
| import org.eclipse.uml2.uml.Classifier; |
| import org.eclipse.uml2.uml.Comment; |
| import org.eclipse.uml2.uml.ConnectionPointReference; |
| import org.eclipse.uml2.uml.Constraint; |
| import org.eclipse.uml2.uml.Dependency; |
| import org.eclipse.uml2.uml.DurationConstraint; |
| import org.eclipse.uml2.uml.Element; |
| import org.eclipse.uml2.uml.ElementImport; |
| import org.eclipse.uml2.uml.FinalState; |
| import org.eclipse.uml2.uml.InteractionConstraint; |
| import org.eclipse.uml2.uml.IntervalConstraint; |
| import org.eclipse.uml2.uml.NamedElement; |
| import org.eclipse.uml2.uml.PackageImport; |
| import org.eclipse.uml2.uml.PackageableElement; |
| import org.eclipse.uml2.uml.ProtocolStateMachine; |
| import org.eclipse.uml2.uml.ProtocolTransition; |
| import org.eclipse.uml2.uml.Pseudostate; |
| import org.eclipse.uml2.uml.RedefinableElement; |
| import org.eclipse.uml2.uml.Region; |
| import org.eclipse.uml2.uml.State; |
| import org.eclipse.uml2.uml.StateMachine; |
| import org.eclipse.uml2.uml.StringExpression; |
| import org.eclipse.uml2.uml.TimeConstraint; |
| import org.eclipse.uml2.uml.Transition; |
| |
| /** |
| * @author Eike Stepper |
| */ |
| public class RegionTest |
| extends _Abstract_Compliance_Test_ { |
| |
| public void testEAnnotations() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| |
| EAnnotation eAnnotation = ECORE.createEAnnotation(); |
| assertValid(eAnnotation); |
| region.getEAnnotations().add(eAnnotation); |
| } |
| |
| public void testOwnedComment() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| |
| Comment comment = UML.createComment(); |
| assertValid(comment); |
| region.getOwnedComments().add(comment); |
| assertSuperset(region.getOwnedElements().contains(comment)); |
| } |
| |
| public void testOwnedElement() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| EList<Element> elements = region.getOwnedElements(); |
| EList<Element> elements2 = region.getOwnedElements(); |
| assertSame(elements, elements2); |
| } |
| |
| public void testClientDependency() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| EList<Dependency> dependencys = region.getClientDependencies(); |
| EList<Dependency> dependencys2 = region.getClientDependencies(); |
| assertSame(dependencys, dependencys2); |
| } |
| |
| public void testNameExpression() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| |
| StringExpression stringExpression = UML.createStringExpression(); |
| assertValid(stringExpression); |
| region.setNameExpression(stringExpression); |
| assertSuperset(region.getOwnedElements().contains(stringExpression)); |
| } |
| |
| public void testOwnedRule() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| |
| IntervalConstraint intervalConstraint = UML.createIntervalConstraint(); |
| assertValid(intervalConstraint); |
| region.getOwnedRules().add(intervalConstraint); |
| assertSuperset(region.getOwnedMembers().contains(intervalConstraint)); |
| |
| TimeConstraint timeConstraint = UML.createTimeConstraint(); |
| assertValid(timeConstraint); |
| region.getOwnedRules().add(timeConstraint); |
| assertSuperset(region.getOwnedMembers().contains(timeConstraint)); |
| |
| InteractionConstraint interactionConstraint = UML |
| .createInteractionConstraint(); |
| assertValid(interactionConstraint); |
| region.getOwnedRules().add(interactionConstraint); |
| assertSuperset( |
| region.getOwnedMembers().contains(interactionConstraint)); |
| |
| Constraint constraint = UML.createConstraint(); |
| assertValid(constraint); |
| region.getOwnedRules().add(constraint); |
| assertSuperset(region.getOwnedMembers().contains(constraint)); |
| |
| DurationConstraint durationConstraint = UML.createDurationConstraint(); |
| assertValid(durationConstraint); |
| region.getOwnedRules().add(durationConstraint); |
| assertSuperset(region.getOwnedMembers().contains(durationConstraint)); |
| } |
| |
| public void testElementImport() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| |
| ElementImport elementImport = UML.createElementImport(); |
| assertValid(elementImport); |
| region.getElementImports().add(elementImport); |
| assertSuperset(region.getOwnedElements().contains(elementImport)); |
| } |
| |
| public void testPackageImport() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| |
| PackageImport packageImport = UML.createPackageImport(); |
| assertValid(packageImport); |
| region.getPackageImports().add(packageImport); |
| assertSuperset(region.getOwnedElements().contains(packageImport)); |
| } |
| |
| public void testOwnedMember() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| EList<NamedElement> namedElements = region.getOwnedMembers(); |
| EList<NamedElement> namedElements2 = region.getOwnedMembers(); |
| assertSame(namedElements, namedElements2); |
| } |
| |
| public void testImportedMember() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| EList<PackageableElement> packageableElements = region |
| .getImportedMembers(); |
| EList<PackageableElement> packageableElements2 = region |
| .getImportedMembers(); |
| assertSame(packageableElements, packageableElements2); |
| } |
| |
| public void testMember() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| EList<NamedElement> namedElements = region.getMembers(); |
| EList<NamedElement> namedElements2 = region.getMembers(); |
| assertSame(namedElements, namedElements2); |
| } |
| |
| public void testRedefinedElement() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| EList<RedefinableElement> redefinableElements = region |
| .getRedefinedElements(); |
| EList<RedefinableElement> redefinableElements2 = region |
| .getRedefinedElements(); |
| assertSame(redefinableElements, redefinableElements2); |
| } |
| |
| public void testRedefinitionContext() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| EList<Classifier> classifiers = region.getRedefinitionContexts(); |
| EList<Classifier> classifiers2 = region.getRedefinitionContexts(); |
| assertSame(classifiers, classifiers2); |
| } |
| |
| public void testExtendedRegion() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| |
| Region region2 = UML.createRegion(); |
| assertValid(region2); |
| region.setExtendedRegion(region2); |
| assertSuperset(region.getRedefinedElements().contains(region2)); |
| } |
| |
| public void testState() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| |
| FinalState finalState = UML.createFinalState(); |
| assertValid(finalState); |
| region.setState(finalState); |
| assertSuperset(region.getNamespace() == finalState); |
| |
| State state = UML.createState(); |
| assertValid(state); |
| region.setState(state); |
| assertSuperset(region.getNamespace() == state); |
| } |
| |
| public void testStateMachine() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| |
| ProtocolStateMachine protocolStateMachine = UML |
| .createProtocolStateMachine(); |
| assertValid(protocolStateMachine); |
| region.setStateMachine(protocolStateMachine); |
| assertSuperset(region.getNamespace() == protocolStateMachine); |
| |
| StateMachine stateMachine = UML.createStateMachine(); |
| assertValid(stateMachine); |
| region.setStateMachine(stateMachine); |
| assertSuperset(region.getNamespace() == stateMachine); |
| } |
| |
| public void testTransition() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| |
| Transition transition = UML.createTransition(); |
| assertValid(transition); |
| region.getTransitions().add(transition); |
| assertSuperset(region.getOwnedMembers().contains(transition)); |
| |
| ProtocolTransition protocolTransition = UML.createProtocolTransition(); |
| assertValid(protocolTransition); |
| region.getTransitions().add(protocolTransition); |
| assertSuperset(region.getOwnedMembers().contains(protocolTransition)); |
| } |
| |
| public void testSubvertex() { |
| Region region = UML.createRegion(); |
| assertValid(region); |
| |
| Pseudostate pseudostate = UML.createPseudostate(); |
| assertValid(pseudostate); |
| region.getSubvertices().add(pseudostate); |
| assertSuperset(region.getOwnedMembers().contains(pseudostate)); |
| |
| ConnectionPointReference connectionPointReference = UML |
| .createConnectionPointReference(); |
| assertValid(connectionPointReference); |
| region.getSubvertices().add(connectionPointReference); |
| assertSuperset( |
| region.getOwnedMembers().contains(connectionPointReference)); |
| |
| FinalState finalState = UML.createFinalState(); |
| assertValid(finalState); |
| region.getSubvertices().add(finalState); |
| assertSuperset(region.getOwnedMembers().contains(finalState)); |
| |
| State state = UML.createState(); |
| assertValid(state); |
| region.getSubvertices().add(state); |
| assertSuperset(region.getOwnedMembers().contains(state)); |
| } |
| |
| } |