blob: 6c84ef5accd394f68828baa81b320a29251fc7c8 [file] [log] [blame]
/*
* 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.Activity;
import org.eclipse.uml2.uml.Actor;
import org.eclipse.uml2.uml.Artifact;
import org.eclipse.uml2.uml.Association;
import org.eclipse.uml2.uml.AssociationClass;
import org.eclipse.uml2.uml.Classifier;
import org.eclipse.uml2.uml.ClassifierTemplateParameter;
import org.eclipse.uml2.uml.Collaboration;
import org.eclipse.uml2.uml.Comment;
import org.eclipse.uml2.uml.CommunicationPath;
import org.eclipse.uml2.uml.Component;
import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
import org.eclipse.uml2.uml.DataType;
import org.eclipse.uml2.uml.Dependency;
import org.eclipse.uml2.uml.DeploymentSpecification;
import org.eclipse.uml2.uml.Device;
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.Enumeration;
import org.eclipse.uml2.uml.ExecutionEnvironment;
import org.eclipse.uml2.uml.Extension;
import org.eclipse.uml2.uml.FunctionBehavior;
import org.eclipse.uml2.uml.InformationItem;
import org.eclipse.uml2.uml.Interaction;
import org.eclipse.uml2.uml.Interface;
import org.eclipse.uml2.uml.Node;
import org.eclipse.uml2.uml.OpaqueBehavior;
import org.eclipse.uml2.uml.OperationTemplateParameter;
import org.eclipse.uml2.uml.PrimitiveType;
import org.eclipse.uml2.uml.ProtocolStateMachine;
import org.eclipse.uml2.uml.RedefinableElement;
import org.eclipse.uml2.uml.RedefinableTemplateSignature;
import org.eclipse.uml2.uml.Signal;
import org.eclipse.uml2.uml.StateMachine;
import org.eclipse.uml2.uml.Stereotype;
import org.eclipse.uml2.uml.StringExpression;
import org.eclipse.uml2.uml.TemplateParameter;
import org.eclipse.uml2.uml.UseCase;
/**
* @author Eike Stepper
*/
public class RedefinableTemplateSignatureTest
extends _Abstract_Compliance_Test_ {
public void testEAnnotations() {
RedefinableTemplateSignature redefinableTemplateSignature = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature);
EAnnotation eAnnotation = ECORE.createEAnnotation();
assertValid(eAnnotation);
redefinableTemplateSignature.getEAnnotations().add(eAnnotation);
}
public void testOwnedComment() {
RedefinableTemplateSignature redefinableTemplateSignature = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature);
Comment comment = UML.createComment();
assertValid(comment);
redefinableTemplateSignature.getOwnedComments().add(comment);
assertSuperset(
redefinableTemplateSignature.getOwnedElements().contains(comment));
}
public void testOwnedElement() {
RedefinableTemplateSignature redefinableTemplateSignature = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature);
EList<Element> elements = redefinableTemplateSignature
.getOwnedElements();
EList<Element> elements2 = redefinableTemplateSignature
.getOwnedElements();
assertSame(elements, elements2);
}
public void testClientDependency() {
RedefinableTemplateSignature redefinableTemplateSignature = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature);
EList<Dependency> dependencys = redefinableTemplateSignature
.getClientDependencies();
EList<Dependency> dependencys2 = redefinableTemplateSignature
.getClientDependencies();
assertSame(dependencys, dependencys2);
}
public void testNameExpression() {
RedefinableTemplateSignature redefinableTemplateSignature = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature);
StringExpression stringExpression = UML.createStringExpression();
assertValid(stringExpression);
redefinableTemplateSignature.setNameExpression(stringExpression);
assertSuperset(redefinableTemplateSignature.getOwnedElements()
.contains(stringExpression));
}
public void testRedefinedElement() {
RedefinableTemplateSignature redefinableTemplateSignature = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature);
EList<RedefinableElement> redefinableElements = redefinableTemplateSignature
.getRedefinedElements();
EList<RedefinableElement> redefinableElements2 = redefinableTemplateSignature
.getRedefinedElements();
assertSame(redefinableElements, redefinableElements2);
}
public void testRedefinitionContext() {
RedefinableTemplateSignature redefinableTemplateSignature = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature);
EList<Classifier> classifiers = redefinableTemplateSignature
.getRedefinitionContexts();
EList<Classifier> classifiers2 = redefinableTemplateSignature
.getRedefinitionContexts();
assertSame(classifiers, classifiers2);
}
public void testParameter() {
RedefinableTemplateSignature redefinableTemplateSignature = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature);
ClassifierTemplateParameter classifierTemplateParameter = UML
.createClassifierTemplateParameter();
assertValid(classifierTemplateParameter);
redefinableTemplateSignature.getParameters()
.add(classifierTemplateParameter);
ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
.createConnectableElementTemplateParameter();
assertValid(connectableElementTemplateParameter);
redefinableTemplateSignature.getParameters()
.add(connectableElementTemplateParameter);
TemplateParameter templateParameter = UML.createTemplateParameter();
assertValid(templateParameter);
redefinableTemplateSignature.getParameters().add(templateParameter);
OperationTemplateParameter operationTemplateParameter = UML
.createOperationTemplateParameter();
assertValid(operationTemplateParameter);
redefinableTemplateSignature.getParameters()
.add(operationTemplateParameter);
}
public void testTemplate() {
RedefinableTemplateSignature redefinableTemplateSignature = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature);
FunctionBehavior functionBehavior = UML.createFunctionBehavior();
assertValid(functionBehavior);
redefinableTemplateSignature.setTemplate(functionBehavior);
assertSuperset(
redefinableTemplateSignature.getOwner() == functionBehavior);
Activity activity = UML.createActivity();
assertValid(activity);
redefinableTemplateSignature.setTemplate(activity);
assertSuperset(redefinableTemplateSignature.getOwner() == activity);
RedefinableTemplateSignature redefinableTemplateSignature2 = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature2);
Interface interface_ = UML.createInterface();
assertValid(interface_);
redefinableTemplateSignature2.setTemplate(interface_);
assertSuperset(redefinableTemplateSignature2.getOwner() == interface_);
InformationItem informationItem = UML.createInformationItem();
assertValid(informationItem);
redefinableTemplateSignature2.setTemplate(informationItem);
assertSuperset(
redefinableTemplateSignature2.getOwner() == informationItem);
RedefinableTemplateSignature redefinableTemplateSignature3 = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature3);
CommunicationPath communicationPath = UML.createCommunicationPath();
assertValid(communicationPath);
redefinableTemplateSignature3.setTemplate(communicationPath);
assertSuperset(
redefinableTemplateSignature3.getOwner() == communicationPath);
ExecutionEnvironment executionEnvironment = UML
.createExecutionEnvironment();
assertValid(executionEnvironment);
redefinableTemplateSignature3.setTemplate(executionEnvironment);
assertSuperset(
redefinableTemplateSignature3.getOwner() == executionEnvironment);
RedefinableTemplateSignature redefinableTemplateSignature4 = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature4);
Component component = UML.createComponent();
assertValid(component);
redefinableTemplateSignature4.setTemplate(component);
assertSuperset(redefinableTemplateSignature4.getOwner() == component);
Interaction interaction = UML.createInteraction();
assertValid(interaction);
redefinableTemplateSignature4.setTemplate(interaction);
assertSuperset(redefinableTemplateSignature4.getOwner() == interaction);
RedefinableTemplateSignature redefinableTemplateSignature5 = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature5);
DeploymentSpecification deploymentSpecification = UML
.createDeploymentSpecification();
assertValid(deploymentSpecification);
redefinableTemplateSignature5.setTemplate(deploymentSpecification);
assertSuperset(redefinableTemplateSignature5
.getOwner() == deploymentSpecification);
OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
assertValid(opaqueBehavior);
redefinableTemplateSignature5.setTemplate(opaqueBehavior);
assertSuperset(
redefinableTemplateSignature5.getOwner() == opaqueBehavior);
RedefinableTemplateSignature redefinableTemplateSignature6 = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature6);
Association association = UML.createAssociation();
assertValid(association);
redefinableTemplateSignature6.setTemplate(association);
assertSuperset(redefinableTemplateSignature6.getOwner() == association);
DataType dataType = UML.createDataType();
assertValid(dataType);
redefinableTemplateSignature6.setTemplate(dataType);
assertSuperset(redefinableTemplateSignature6.getOwner() == dataType);
RedefinableTemplateSignature redefinableTemplateSignature7 = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature7);
Device device = UML.createDevice();
assertValid(device);
redefinableTemplateSignature7.setTemplate(device);
assertSuperset(redefinableTemplateSignature7.getOwner() == device);
Extension extension = UML.createExtension();
assertValid(extension);
redefinableTemplateSignature7.setTemplate(extension);
assertSuperset(redefinableTemplateSignature7.getOwner() == extension);
RedefinableTemplateSignature redefinableTemplateSignature8 = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature8);
AssociationClass associationClass = UML.createAssociationClass();
assertValid(associationClass);
redefinableTemplateSignature8.setTemplate(associationClass);
assertSuperset(
redefinableTemplateSignature8.getOwner() == associationClass);
org.eclipse.uml2.uml.Class class_ = UML.createClass();
assertValid(class_);
redefinableTemplateSignature8.setTemplate(class_);
assertSuperset(redefinableTemplateSignature8.getOwner() == class_);
RedefinableTemplateSignature redefinableTemplateSignature9 = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature9);
Enumeration enumeration = UML.createEnumeration();
assertValid(enumeration);
redefinableTemplateSignature9.setTemplate(enumeration);
assertSuperset(redefinableTemplateSignature9.getOwner() == enumeration);
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
redefinableTemplateSignature9.setTemplate(primitiveType);
assertSuperset(
redefinableTemplateSignature9.getOwner() == primitiveType);
RedefinableTemplateSignature redefinableTemplateSignature10 = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature10);
Actor actor = UML.createActor();
assertValid(actor);
redefinableTemplateSignature10.setTemplate(actor);
assertSuperset(redefinableTemplateSignature10.getOwner() == actor);
ProtocolStateMachine protocolStateMachine = UML
.createProtocolStateMachine();
assertValid(protocolStateMachine);
redefinableTemplateSignature10.setTemplate(protocolStateMachine);
assertSuperset(
redefinableTemplateSignature10.getOwner() == protocolStateMachine);
RedefinableTemplateSignature redefinableTemplateSignature11 = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature11);
UseCase useCase = UML.createUseCase();
assertValid(useCase);
redefinableTemplateSignature11.setTemplate(useCase);
assertSuperset(redefinableTemplateSignature11.getOwner() == useCase);
Signal signal = UML.createSignal();
assertValid(signal);
redefinableTemplateSignature11.setTemplate(signal);
assertSuperset(redefinableTemplateSignature11.getOwner() == signal);
RedefinableTemplateSignature redefinableTemplateSignature12 = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature12);
Node node = UML.createNode();
assertValid(node);
redefinableTemplateSignature12.setTemplate(node);
assertSuperset(redefinableTemplateSignature12.getOwner() == node);
Stereotype stereotype = UML.createStereotype();
assertValid(stereotype);
redefinableTemplateSignature12.setTemplate(stereotype);
assertSuperset(redefinableTemplateSignature12.getOwner() == stereotype);
RedefinableTemplateSignature redefinableTemplateSignature13 = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature13);
StateMachine stateMachine = UML.createStateMachine();
assertValid(stateMachine);
redefinableTemplateSignature13.setTemplate(stateMachine);
assertSuperset(
redefinableTemplateSignature13.getOwner() == stateMachine);
Artifact artifact = UML.createArtifact();
assertValid(artifact);
redefinableTemplateSignature13.setTemplate(artifact);
assertSuperset(redefinableTemplateSignature13.getOwner() == artifact);
RedefinableTemplateSignature redefinableTemplateSignature14 = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature14);
Collaboration collaboration = UML.createCollaboration();
assertValid(collaboration);
redefinableTemplateSignature14.setTemplate(collaboration);
assertSuperset(
redefinableTemplateSignature14.getOwner() == collaboration);
}
public void testOwnedParameter() {
RedefinableTemplateSignature redefinableTemplateSignature = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature);
ClassifierTemplateParameter classifierTemplateParameter = UML
.createClassifierTemplateParameter();
assertValid(classifierTemplateParameter);
redefinableTemplateSignature.getOwnedParameters()
.add(classifierTemplateParameter);
assertSuperset(redefinableTemplateSignature.getOwnedElements()
.contains(classifierTemplateParameter));
assertSuperset(redefinableTemplateSignature.getParameters()
.contains(classifierTemplateParameter));
ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
.createConnectableElementTemplateParameter();
assertValid(connectableElementTemplateParameter);
redefinableTemplateSignature.getOwnedParameters()
.add(connectableElementTemplateParameter);
assertSuperset(redefinableTemplateSignature.getOwnedElements()
.contains(connectableElementTemplateParameter));
assertSuperset(redefinableTemplateSignature.getParameters()
.contains(connectableElementTemplateParameter));
TemplateParameter templateParameter = UML.createTemplateParameter();
assertValid(templateParameter);
redefinableTemplateSignature.getOwnedParameters()
.add(templateParameter);
assertSuperset(redefinableTemplateSignature.getOwnedElements()
.contains(templateParameter));
assertSuperset(redefinableTemplateSignature.getParameters()
.contains(templateParameter));
OperationTemplateParameter operationTemplateParameter = UML
.createOperationTemplateParameter();
assertValid(operationTemplateParameter);
redefinableTemplateSignature.getOwnedParameters()
.add(operationTemplateParameter);
assertSuperset(redefinableTemplateSignature.getOwnedElements()
.contains(operationTemplateParameter));
assertSuperset(redefinableTemplateSignature.getParameters()
.contains(operationTemplateParameter));
}
public void testExtendedSignature() {
RedefinableTemplateSignature redefinableTemplateSignature = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature);
RedefinableTemplateSignature redefinableTemplateSignature2 = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature2);
redefinableTemplateSignature.getExtendedSignatures()
.add(redefinableTemplateSignature2);
assertSuperset(redefinableTemplateSignature.getRedefinedElements()
.contains(redefinableTemplateSignature2));
}
public void testInheritedParameter() {
RedefinableTemplateSignature redefinableTemplateSignature = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature);
EList<TemplateParameter> templateParameters = redefinableTemplateSignature
.getInheritedParameters();
EList<TemplateParameter> templateParameters2 = redefinableTemplateSignature
.getInheritedParameters();
assertSame(templateParameters, templateParameters2);
}
}