blob: b0612adf3a9f41ce29cbbeeb2cf0bc63f65776cc [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.CollaborationUse;
import org.eclipse.uml2.uml.Comment;
import org.eclipse.uml2.uml.CommunicationPath;
import org.eclipse.uml2.uml.Component;
import org.eclipse.uml2.uml.Constraint;
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.DurationConstraint;
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.ElementImport;
import org.eclipse.uml2.uml.Enumeration;
import org.eclipse.uml2.uml.ExecutionEnvironment;
import org.eclipse.uml2.uml.Extension;
import org.eclipse.uml2.uml.ExtensionEnd;
import org.eclipse.uml2.uml.Feature;
import org.eclipse.uml2.uml.FunctionBehavior;
import org.eclipse.uml2.uml.Generalization;
import org.eclipse.uml2.uml.GeneralizationSet;
import org.eclipse.uml2.uml.InformationItem;
import org.eclipse.uml2.uml.Interaction;
import org.eclipse.uml2.uml.InteractionConstraint;
import org.eclipse.uml2.uml.Interface;
import org.eclipse.uml2.uml.IntervalConstraint;
import org.eclipse.uml2.uml.NamedElement;
import org.eclipse.uml2.uml.Node;
import org.eclipse.uml2.uml.OpaqueBehavior;
import org.eclipse.uml2.uml.Operation;
import org.eclipse.uml2.uml.PackageImport;
import org.eclipse.uml2.uml.PackageableElement;
import org.eclipse.uml2.uml.Port;
import org.eclipse.uml2.uml.PrimitiveType;
import org.eclipse.uml2.uml.Property;
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.Substitution;
import org.eclipse.uml2.uml.TemplateBinding;
import org.eclipse.uml2.uml.TimeConstraint;
import org.eclipse.uml2.uml.UseCase;
/**
* @author Eike Stepper
*/
public class PrimitiveTypeTest
extends _Abstract_Compliance_Test_ {
public void testEAnnotations() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
EAnnotation eAnnotation = ECORE.createEAnnotation();
assertValid(eAnnotation);
primitiveType.getEAnnotations().add(eAnnotation);
}
public void testOwnedComment() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
Comment comment = UML.createComment();
assertValid(comment);
primitiveType.getOwnedComments().add(comment);
assertSuperset(primitiveType.getOwnedElements().contains(comment));
}
public void testOwnedElement() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
EList<Element> elements = primitiveType.getOwnedElements();
EList<Element> elements2 = primitiveType.getOwnedElements();
assertSame(elements, elements2);
}
public void testClientDependency() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
EList<Dependency> dependencys = primitiveType.getClientDependencies();
EList<Dependency> dependencys2 = primitiveType.getClientDependencies();
assertSame(dependencys, dependencys2);
}
public void testNameExpression() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
StringExpression stringExpression = UML.createStringExpression();
assertValid(stringExpression);
primitiveType.setNameExpression(stringExpression);
assertSuperset(
primitiveType.getOwnedElements().contains(stringExpression));
}
public void testOwnedRule() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
assertValid(intervalConstraint);
primitiveType.getOwnedRules().add(intervalConstraint);
assertSuperset(
primitiveType.getOwnedMembers().contains(intervalConstraint));
TimeConstraint timeConstraint = UML.createTimeConstraint();
assertValid(timeConstraint);
primitiveType.getOwnedRules().add(timeConstraint);
assertSuperset(
primitiveType.getOwnedMembers().contains(timeConstraint));
InteractionConstraint interactionConstraint = UML
.createInteractionConstraint();
assertValid(interactionConstraint);
primitiveType.getOwnedRules().add(interactionConstraint);
assertSuperset(
primitiveType.getOwnedMembers().contains(interactionConstraint));
Constraint constraint = UML.createConstraint();
assertValid(constraint);
primitiveType.getOwnedRules().add(constraint);
assertSuperset(primitiveType.getOwnedMembers().contains(constraint));
DurationConstraint durationConstraint = UML.createDurationConstraint();
assertValid(durationConstraint);
primitiveType.getOwnedRules().add(durationConstraint);
assertSuperset(
primitiveType.getOwnedMembers().contains(durationConstraint));
}
public void testElementImport() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
ElementImport elementImport = UML.createElementImport();
assertValid(elementImport);
primitiveType.getElementImports().add(elementImport);
assertSuperset(
primitiveType.getOwnedElements().contains(elementImport));
}
public void testPackageImport() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
PackageImport packageImport = UML.createPackageImport();
assertValid(packageImport);
primitiveType.getPackageImports().add(packageImport);
assertSuperset(
primitiveType.getOwnedElements().contains(packageImport));
}
public void testOwnedMember() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
EList<NamedElement> namedElements = primitiveType.getOwnedMembers();
EList<NamedElement> namedElements2 = primitiveType.getOwnedMembers();
assertSame(namedElements, namedElements2);
}
public void testImportedMember() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
EList<PackageableElement> packageableElements = primitiveType
.getImportedMembers();
EList<PackageableElement> packageableElements2 = primitiveType
.getImportedMembers();
assertSame(packageableElements, packageableElements2);
}
public void testMember() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
EList<NamedElement> namedElements = primitiveType.getMembers();
EList<NamedElement> namedElements2 = primitiveType.getMembers();
assertSame(namedElements, namedElements2);
}
public void testRedefinedElement() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
EList<RedefinableElement> redefinableElements = primitiveType
.getRedefinedElements();
EList<RedefinableElement> redefinableElements2 = primitiveType
.getRedefinedElements();
assertSame(redefinableElements, redefinableElements2);
}
public void testRedefinitionContext() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
EList<Classifier> classifiers = primitiveType.getRedefinitionContexts();
EList<Classifier> classifiers2 = primitiveType
.getRedefinitionContexts();
assertSame(classifiers, classifiers2);
}
public void testOwningTemplateParameter() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
ClassifierTemplateParameter classifierTemplateParameter = UML
.createClassifierTemplateParameter();
assertValid(classifierTemplateParameter);
primitiveType.setOwningTemplateParameter(classifierTemplateParameter);
assertSuperset(primitiveType.getOwner() == classifierTemplateParameter);
assertSuperset(primitiveType
.getTemplateParameter() == classifierTemplateParameter);
}
public void testTemplateParameter() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
ClassifierTemplateParameter classifierTemplateParameter = UML
.createClassifierTemplateParameter();
assertValid(classifierTemplateParameter);
primitiveType.setTemplateParameter(classifierTemplateParameter);
}
public void testTemplateBinding() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
TemplateBinding templateBinding = UML.createTemplateBinding();
assertValid(templateBinding);
primitiveType.getTemplateBindings().add(templateBinding);
assertSuperset(
primitiveType.getOwnedElements().contains(templateBinding));
}
public void testOwnedTemplateSignature() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
RedefinableTemplateSignature redefinableTemplateSignature = UML
.createRedefinableTemplateSignature();
assertValid(redefinableTemplateSignature);
primitiveType.setOwnedTemplateSignature(redefinableTemplateSignature);
assertSuperset(primitiveType.getOwnedElements()
.contains(redefinableTemplateSignature));
}
public void testFeature() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
EList<Feature> features = primitiveType.getFeatures();
EList<Feature> features2 = primitiveType.getFeatures();
assertSame(features, features2);
}
public void testAttribute() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
EList<Property> propertys = primitiveType.getAttributes();
EList<Property> propertys2 = primitiveType.getAttributes();
assertSame(propertys, propertys2);
}
public void testCollaborationUse() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
CollaborationUse collaborationUse = UML.createCollaborationUse();
assertValid(collaborationUse);
primitiveType.getCollaborationUses().add(collaborationUse);
assertSuperset(
primitiveType.getOwnedElements().contains(collaborationUse));
}
public void testGeneral() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
EList<Classifier> classifiers = primitiveType.getGenerals();
EList<Classifier> classifiers2 = primitiveType.getGenerals();
assertSame(classifiers, classifiers2);
}
public void testGeneralization() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
Generalization generalization = UML.createGeneralization();
assertValid(generalization);
primitiveType.getGeneralizations().add(generalization);
assertSuperset(
primitiveType.getOwnedElements().contains(generalization));
}
public void testPowertypeExtent() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
GeneralizationSet generalizationSet = UML.createGeneralizationSet();
assertValid(generalizationSet);
primitiveType.getPowertypeExtents().add(generalizationSet);
}
public void testInheritedMember() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
EList<NamedElement> namedElements = primitiveType.getInheritedMembers();
EList<NamedElement> namedElements2 = primitiveType
.getInheritedMembers();
assertSame(namedElements, namedElements2);
}
public void testOwnedUseCase() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
UseCase useCase = UML.createUseCase();
assertValid(useCase);
primitiveType.getOwnedUseCases().add(useCase);
assertSuperset(primitiveType.getOwnedMembers().contains(useCase));
}
public void testUseCase() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
UseCase useCase = UML.createUseCase();
assertValid(useCase);
primitiveType.getUseCases().add(useCase);
}
public void testRedefinedClassifier() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
FunctionBehavior functionBehavior = UML.createFunctionBehavior();
assertValid(functionBehavior);
primitiveType.getRedefinedClassifiers().add(functionBehavior);
assertSuperset(
primitiveType.getRedefinedElements().contains(functionBehavior));
Activity activity = UML.createActivity();
assertValid(activity);
primitiveType.getRedefinedClassifiers().add(activity);
assertSuperset(primitiveType.getRedefinedElements().contains(activity));
Interface interface_ = UML.createInterface();
assertValid(interface_);
primitiveType.getRedefinedClassifiers().add(interface_);
assertSuperset(
primitiveType.getRedefinedElements().contains(interface_));
InformationItem informationItem = UML.createInformationItem();
assertValid(informationItem);
primitiveType.getRedefinedClassifiers().add(informationItem);
assertSuperset(
primitiveType.getRedefinedElements().contains(informationItem));
CommunicationPath communicationPath = UML.createCommunicationPath();
assertValid(communicationPath);
primitiveType.getRedefinedClassifiers().add(communicationPath);
assertSuperset(
primitiveType.getRedefinedElements().contains(communicationPath));
ExecutionEnvironment executionEnvironment = UML
.createExecutionEnvironment();
assertValid(executionEnvironment);
primitiveType.getRedefinedClassifiers().add(executionEnvironment);
assertSuperset(primitiveType.getRedefinedElements()
.contains(executionEnvironment));
Component component = UML.createComponent();
assertValid(component);
primitiveType.getRedefinedClassifiers().add(component);
assertSuperset(
primitiveType.getRedefinedElements().contains(component));
Interaction interaction = UML.createInteraction();
assertValid(interaction);
primitiveType.getRedefinedClassifiers().add(interaction);
assertSuperset(
primitiveType.getRedefinedElements().contains(interaction));
DeploymentSpecification deploymentSpecification = UML
.createDeploymentSpecification();
assertValid(deploymentSpecification);
primitiveType.getRedefinedClassifiers().add(deploymentSpecification);
assertSuperset(primitiveType.getRedefinedElements()
.contains(deploymentSpecification));
OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
assertValid(opaqueBehavior);
primitiveType.getRedefinedClassifiers().add(opaqueBehavior);
assertSuperset(
primitiveType.getRedefinedElements().contains(opaqueBehavior));
Association association = UML.createAssociation();
assertValid(association);
primitiveType.getRedefinedClassifiers().add(association);
assertSuperset(
primitiveType.getRedefinedElements().contains(association));
DataType dataType = UML.createDataType();
assertValid(dataType);
primitiveType.getRedefinedClassifiers().add(dataType);
assertSuperset(primitiveType.getRedefinedElements().contains(dataType));
Device device = UML.createDevice();
assertValid(device);
primitiveType.getRedefinedClassifiers().add(device);
assertSuperset(primitiveType.getRedefinedElements().contains(device));
Extension extension = UML.createExtension();
assertValid(extension);
primitiveType.getRedefinedClassifiers().add(extension);
assertSuperset(
primitiveType.getRedefinedElements().contains(extension));
AssociationClass associationClass = UML.createAssociationClass();
assertValid(associationClass);
primitiveType.getRedefinedClassifiers().add(associationClass);
assertSuperset(
primitiveType.getRedefinedElements().contains(associationClass));
org.eclipse.uml2.uml.Class class_ = UML.createClass();
assertValid(class_);
primitiveType.getRedefinedClassifiers().add(class_);
assertSuperset(primitiveType.getRedefinedElements().contains(class_));
Enumeration enumeration = UML.createEnumeration();
assertValid(enumeration);
primitiveType.getRedefinedClassifiers().add(enumeration);
assertSuperset(
primitiveType.getRedefinedElements().contains(enumeration));
PrimitiveType primitiveType2 = UML.createPrimitiveType();
assertValid(primitiveType2);
primitiveType.getRedefinedClassifiers().add(primitiveType2);
assertSuperset(
primitiveType.getRedefinedElements().contains(primitiveType2));
Actor actor = UML.createActor();
assertValid(actor);
primitiveType.getRedefinedClassifiers().add(actor);
assertSuperset(primitiveType.getRedefinedElements().contains(actor));
ProtocolStateMachine protocolStateMachine = UML
.createProtocolStateMachine();
assertValid(protocolStateMachine);
primitiveType.getRedefinedClassifiers().add(protocolStateMachine);
assertSuperset(primitiveType.getRedefinedElements()
.contains(protocolStateMachine));
UseCase useCase = UML.createUseCase();
assertValid(useCase);
primitiveType.getRedefinedClassifiers().add(useCase);
assertSuperset(primitiveType.getRedefinedElements().contains(useCase));
Signal signal = UML.createSignal();
assertValid(signal);
primitiveType.getRedefinedClassifiers().add(signal);
assertSuperset(primitiveType.getRedefinedElements().contains(signal));
Node node = UML.createNode();
assertValid(node);
primitiveType.getRedefinedClassifiers().add(node);
assertSuperset(primitiveType.getRedefinedElements().contains(node));
Stereotype stereotype = UML.createStereotype();
assertValid(stereotype);
primitiveType.getRedefinedClassifiers().add(stereotype);
assertSuperset(
primitiveType.getRedefinedElements().contains(stereotype));
StateMachine stateMachine = UML.createStateMachine();
assertValid(stateMachine);
primitiveType.getRedefinedClassifiers().add(stateMachine);
assertSuperset(
primitiveType.getRedefinedElements().contains(stateMachine));
Artifact artifact = UML.createArtifact();
assertValid(artifact);
primitiveType.getRedefinedClassifiers().add(artifact);
assertSuperset(primitiveType.getRedefinedElements().contains(artifact));
Collaboration collaboration = UML.createCollaboration();
assertValid(collaboration);
primitiveType.getRedefinedClassifiers().add(collaboration);
assertSuperset(
primitiveType.getRedefinedElements().contains(collaboration));
}
public void testRepresentation() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
CollaborationUse collaborationUse = UML.createCollaborationUse();
assertValid(collaborationUse);
primitiveType.setRepresentation(collaborationUse);
assertSuperset(
primitiveType.getCollaborationUses().contains(collaborationUse));
}
public void testSubstitution() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
Substitution substitution = UML.createSubstitution();
assertValid(substitution);
primitiveType.getSubstitutions().add(substitution);
assertSuperset(primitiveType.getOwnedElements().contains(substitution));
assertSuperset(
primitiveType.getClientDependencies().contains(substitution));
}
public void testOwnedAttribute() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
Port port = UML.createPort();
assertValid(port);
primitiveType.getOwnedAttributes().add(port);
assertSuperset(primitiveType.getAttributes().contains(port));
assertSuperset(primitiveType.getOwnedMembers().contains(port));
ExtensionEnd extensionEnd = UML.createExtensionEnd();
assertValid(extensionEnd);
primitiveType.getOwnedAttributes().add(extensionEnd);
assertSuperset(primitiveType.getAttributes().contains(extensionEnd));
assertSuperset(primitiveType.getOwnedMembers().contains(extensionEnd));
Property property = UML.createProperty();
assertValid(property);
primitiveType.getOwnedAttributes().add(property);
assertSuperset(primitiveType.getAttributes().contains(property));
assertSuperset(primitiveType.getOwnedMembers().contains(property));
}
public void testOwnedOperation() {
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
Operation operation = UML.createOperation();
assertValid(operation);
primitiveType.getOwnedOperations().add(operation);
assertSuperset(primitiveType.getFeatures().contains(operation));
assertSuperset(primitiveType.getOwnedMembers().contains(operation));
}
}