blob: b1f69e50cdce928e9737284fffe821f891874f21 [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.Abstraction;
import org.eclipse.uml2.uml.Activity;
import org.eclipse.uml2.uml.Actor;
import org.eclipse.uml2.uml.AnyReceiveEvent;
import org.eclipse.uml2.uml.Artifact;
import org.eclipse.uml2.uml.Association;
import org.eclipse.uml2.uml.AssociationClass;
import org.eclipse.uml2.uml.CallEvent;
import org.eclipse.uml2.uml.ChangeEvent;
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.ComponentRealization;
import org.eclipse.uml2.uml.Constraint;
import org.eclipse.uml2.uml.DataType;
import org.eclipse.uml2.uml.Dependency;
import org.eclipse.uml2.uml.Deployment;
import org.eclipse.uml2.uml.DeploymentSpecification;
import org.eclipse.uml2.uml.Device;
import org.eclipse.uml2.uml.Duration;
import org.eclipse.uml2.uml.DurationConstraint;
import org.eclipse.uml2.uml.DurationInterval;
import org.eclipse.uml2.uml.DurationObservation;
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.ElementImport;
import org.eclipse.uml2.uml.Enumeration;
import org.eclipse.uml2.uml.EnumerationLiteral;
import org.eclipse.uml2.uml.ExecutionEnvironment;
import org.eclipse.uml2.uml.Expression;
import org.eclipse.uml2.uml.Extension;
import org.eclipse.uml2.uml.FunctionBehavior;
import org.eclipse.uml2.uml.GeneralizationSet;
import org.eclipse.uml2.uml.InformationFlow;
import org.eclipse.uml2.uml.InformationItem;
import org.eclipse.uml2.uml.InstanceSpecification;
import org.eclipse.uml2.uml.InstanceValue;
import org.eclipse.uml2.uml.Interaction;
import org.eclipse.uml2.uml.InteractionConstraint;
import org.eclipse.uml2.uml.Interface;
import org.eclipse.uml2.uml.InterfaceRealization;
import org.eclipse.uml2.uml.Interval;
import org.eclipse.uml2.uml.IntervalConstraint;
import org.eclipse.uml2.uml.LiteralBoolean;
import org.eclipse.uml2.uml.LiteralInteger;
import org.eclipse.uml2.uml.LiteralNull;
import org.eclipse.uml2.uml.LiteralReal;
import org.eclipse.uml2.uml.LiteralString;
import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
import org.eclipse.uml2.uml.Manifestation;
import org.eclipse.uml2.uml.Model;
import org.eclipse.uml2.uml.NamedElement;
import org.eclipse.uml2.uml.Node;
import org.eclipse.uml2.uml.OpaqueBehavior;
import org.eclipse.uml2.uml.OpaqueExpression;
import org.eclipse.uml2.uml.PackageImport;
import org.eclipse.uml2.uml.PackageMerge;
import org.eclipse.uml2.uml.PackageableElement;
import org.eclipse.uml2.uml.PrimitiveType;
import org.eclipse.uml2.uml.Profile;
import org.eclipse.uml2.uml.ProfileApplication;
import org.eclipse.uml2.uml.ProtocolStateMachine;
import org.eclipse.uml2.uml.Realization;
import org.eclipse.uml2.uml.Signal;
import org.eclipse.uml2.uml.SignalEvent;
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.TemplateParameter;
import org.eclipse.uml2.uml.TemplateSignature;
import org.eclipse.uml2.uml.TimeConstraint;
import org.eclipse.uml2.uml.TimeEvent;
import org.eclipse.uml2.uml.TimeExpression;
import org.eclipse.uml2.uml.TimeInterval;
import org.eclipse.uml2.uml.TimeObservation;
import org.eclipse.uml2.uml.Type;
import org.eclipse.uml2.uml.Usage;
import org.eclipse.uml2.uml.UseCase;
/**
* @author Eike Stepper
*/
public class ModelTest
extends _Abstract_Compliance_Test_ {
public void testEAnnotations() {
Model model = UML.createModel();
assertValid(model);
EAnnotation eAnnotation = ECORE.createEAnnotation();
assertValid(eAnnotation);
model.getEAnnotations().add(eAnnotation);
}
public void testOwnedComment() {
Model model = UML.createModel();
assertValid(model);
Comment comment = UML.createComment();
assertValid(comment);
model.getOwnedComments().add(comment);
assertSuperset(model.getOwnedElements().contains(comment));
}
public void testOwnedElement() {
Model model = UML.createModel();
assertValid(model);
EList<Element> elements = model.getOwnedElements();
EList<Element> elements2 = model.getOwnedElements();
assertSame(elements, elements2);
}
public void testClientDependency() {
Model model = UML.createModel();
assertValid(model);
EList<Dependency> dependencys = model.getClientDependencies();
EList<Dependency> dependencys2 = model.getClientDependencies();
assertSame(dependencys, dependencys2);
}
public void testNameExpression() {
Model model = UML.createModel();
assertValid(model);
StringExpression stringExpression = UML.createStringExpression();
assertValid(stringExpression);
model.setNameExpression(stringExpression);
assertSuperset(model.getOwnedElements().contains(stringExpression));
}
public void testOwnedRule() {
Model model = UML.createModel();
assertValid(model);
IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
assertValid(intervalConstraint);
model.getOwnedRules().add(intervalConstraint);
assertSuperset(model.getOwnedMembers().contains(intervalConstraint));
TimeConstraint timeConstraint = UML.createTimeConstraint();
assertValid(timeConstraint);
model.getOwnedRules().add(timeConstraint);
assertSuperset(model.getOwnedMembers().contains(timeConstraint));
InteractionConstraint interactionConstraint = UML
.createInteractionConstraint();
assertValid(interactionConstraint);
model.getOwnedRules().add(interactionConstraint);
assertSuperset(model.getOwnedMembers().contains(interactionConstraint));
Constraint constraint = UML.createConstraint();
assertValid(constraint);
model.getOwnedRules().add(constraint);
assertSuperset(model.getOwnedMembers().contains(constraint));
DurationConstraint durationConstraint = UML.createDurationConstraint();
assertValid(durationConstraint);
model.getOwnedRules().add(durationConstraint);
assertSuperset(model.getOwnedMembers().contains(durationConstraint));
}
public void testElementImport() {
Model model = UML.createModel();
assertValid(model);
ElementImport elementImport = UML.createElementImport();
assertValid(elementImport);
model.getElementImports().add(elementImport);
assertSuperset(model.getOwnedElements().contains(elementImport));
}
public void testPackageImport() {
Model model = UML.createModel();
assertValid(model);
PackageImport packageImport = UML.createPackageImport();
assertValid(packageImport);
model.getPackageImports().add(packageImport);
assertSuperset(model.getOwnedElements().contains(packageImport));
}
public void testOwnedMember() {
Model model = UML.createModel();
assertValid(model);
EList<NamedElement> namedElements = model.getOwnedMembers();
EList<NamedElement> namedElements2 = model.getOwnedMembers();
assertSame(namedElements, namedElements2);
}
public void testImportedMember() {
Model model = UML.createModel();
assertValid(model);
EList<PackageableElement> packageableElements = model
.getImportedMembers();
EList<PackageableElement> packageableElements2 = model
.getImportedMembers();
assertSame(packageableElements, packageableElements2);
}
public void testMember() {
Model model = UML.createModel();
assertValid(model);
EList<NamedElement> namedElements = model.getMembers();
EList<NamedElement> namedElements2 = model.getMembers();
assertSame(namedElements, namedElements2);
}
public void testOwningTemplateParameter() {
Model model = UML.createModel();
assertValid(model);
TemplateParameter templateParameter = UML.createTemplateParameter();
assertValid(templateParameter);
model.setOwningTemplateParameter(templateParameter);
assertSuperset(model.getOwner() == templateParameter);
assertSuperset(model.getTemplateParameter() == templateParameter);
}
public void testTemplateParameter() {
Model model = UML.createModel();
assertValid(model);
TemplateParameter templateParameter = UML.createTemplateParameter();
assertValid(templateParameter);
model.setTemplateParameter(templateParameter);
}
public void testTemplateBinding() {
Model model = UML.createModel();
assertValid(model);
TemplateBinding templateBinding = UML.createTemplateBinding();
assertValid(templateBinding);
model.getTemplateBindings().add(templateBinding);
assertSuperset(model.getOwnedElements().contains(templateBinding));
}
public void testOwnedTemplateSignature() {
Model model = UML.createModel();
assertValid(model);
TemplateSignature templateSignature = UML.createTemplateSignature();
assertValid(templateSignature);
model.setOwnedTemplateSignature(templateSignature);
assertSuperset(model.getOwnedElements().contains(templateSignature));
}
public void testNestedPackage() {
Model model = UML.createModel();
assertValid(model);
EList<org.eclipse.uml2.uml.Package> package_s = model
.getNestedPackages();
EList<org.eclipse.uml2.uml.Package> package_s2 = model
.getNestedPackages();
assertSame(package_s, package_s2);
}
public void testOwnedStereotype() {
Model model = UML.createModel();
assertValid(model);
EList<Stereotype> stereotypes = model.getOwnedStereotypes();
EList<Stereotype> stereotypes2 = model.getOwnedStereotypes();
assertSame(stereotypes, stereotypes2);
}
public void testOwnedType() {
Model model = UML.createModel();
assertValid(model);
EList<Type> types = model.getOwnedTypes();
EList<Type> types2 = model.getOwnedTypes();
assertSame(types, types2);
}
public void testPackageMerge() {
Model model = UML.createModel();
assertValid(model);
PackageMerge packageMerge = UML.createPackageMerge();
assertValid(packageMerge);
model.getPackageMerges().add(packageMerge);
assertSuperset(model.getOwnedElements().contains(packageMerge));
}
public void testPackagedElement() {
Model model = UML.createModel();
assertValid(model);
FunctionBehavior functionBehavior = UML.createFunctionBehavior();
assertValid(functionBehavior);
model.getPackagedElements().add(functionBehavior);
assertSuperset(model.getOwnedMembers().contains(functionBehavior));
Activity activity = UML.createActivity();
assertValid(activity);
model.getPackagedElements().add(activity);
assertSuperset(model.getOwnedMembers().contains(activity));
Interface interface_ = UML.createInterface();
assertValid(interface_);
model.getPackagedElements().add(interface_);
assertSuperset(model.getOwnedMembers().contains(interface_));
InstanceSpecification instanceSpecification = UML
.createInstanceSpecification();
assertValid(instanceSpecification);
model.getPackagedElements().add(instanceSpecification);
assertSuperset(model.getOwnedMembers().contains(instanceSpecification));
InformationItem informationItem = UML.createInformationItem();
assertValid(informationItem);
model.getPackagedElements().add(informationItem);
assertSuperset(model.getOwnedMembers().contains(informationItem));
CommunicationPath communicationPath = UML.createCommunicationPath();
assertValid(communicationPath);
model.getPackagedElements().add(communicationPath);
assertSuperset(model.getOwnedMembers().contains(communicationPath));
LiteralReal literalReal = UML.createLiteralReal();
assertValid(literalReal);
model.getPackagedElements().add(literalReal);
assertSuperset(model.getOwnedMembers().contains(literalReal));
Component component = UML.createComponent();
assertValid(component);
model.getPackagedElements().add(component);
assertSuperset(model.getOwnedMembers().contains(component));
Duration duration = UML.createDuration();
assertValid(duration);
model.getPackagedElements().add(duration);
assertSuperset(model.getOwnedMembers().contains(duration));
org.eclipse.uml2.uml.Package package_ = UML.createPackage();
assertValid(package_);
model.getPackagedElements().add(package_);
assertSuperset(model.getOwnedMembers().contains(package_));
Manifestation manifestation = UML.createManifestation();
assertValid(manifestation);
model.getPackagedElements().add(manifestation);
assertSuperset(model.getOwnedMembers().contains(manifestation));
DurationObservation durationObservation = UML
.createDurationObservation();
assertValid(durationObservation);
model.getPackagedElements().add(durationObservation);
assertSuperset(model.getOwnedMembers().contains(durationObservation));
CallEvent callEvent = UML.createCallEvent();
assertValid(callEvent);
model.getPackagedElements().add(callEvent);
assertSuperset(model.getOwnedMembers().contains(callEvent));
Interaction interaction = UML.createInteraction();
assertValid(interaction);
model.getPackagedElements().add(interaction);
assertSuperset(model.getOwnedMembers().contains(interaction));
OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
assertValid(opaqueBehavior);
model.getPackagedElements().add(opaqueBehavior);
assertSuperset(model.getOwnedMembers().contains(opaqueBehavior));
LiteralUnlimitedNatural literalUnlimitedNatural = UML
.createLiteralUnlimitedNatural();
assertValid(literalUnlimitedNatural);
model.getPackagedElements().add(literalUnlimitedNatural);
assertSuperset(
model.getOwnedMembers().contains(literalUnlimitedNatural));
TimeObservation timeObservation = UML.createTimeObservation();
assertValid(timeObservation);
model.getPackagedElements().add(timeObservation);
assertSuperset(model.getOwnedMembers().contains(timeObservation));
Model model2 = UML.createModel();
assertValid(model2);
model.getPackagedElements().add(model2);
assertSuperset(model.getOwnedMembers().contains(model2));
TimeExpression timeExpression = UML.createTimeExpression();
assertValid(timeExpression);
model.getPackagedElements().add(timeExpression);
assertSuperset(model.getOwnedMembers().contains(timeExpression));
Device device = UML.createDevice();
assertValid(device);
model.getPackagedElements().add(device);
assertSuperset(model.getOwnedMembers().contains(device));
InstanceValue instanceValue = UML.createInstanceValue();
assertValid(instanceValue);
model.getPackagedElements().add(instanceValue);
assertSuperset(model.getOwnedMembers().contains(instanceValue));
InteractionConstraint interactionConstraint = UML
.createInteractionConstraint();
assertValid(interactionConstraint);
model.getPackagedElements().add(interactionConstraint);
assertSuperset(model.getOwnedMembers().contains(interactionConstraint));
AssociationClass associationClass = UML.createAssociationClass();
assertValid(associationClass);
model.getPackagedElements().add(associationClass);
assertSuperset(model.getOwnedMembers().contains(associationClass));
Interval interval = UML.createInterval();
assertValid(interval);
model.getPackagedElements().add(interval);
assertSuperset(model.getOwnedMembers().contains(interval));
Abstraction abstraction = UML.createAbstraction();
assertValid(abstraction);
model.getPackagedElements().add(abstraction);
assertSuperset(model.getOwnedMembers().contains(abstraction));
LiteralString literalString = UML.createLiteralString();
assertValid(literalString);
model.getPackagedElements().add(literalString);
assertSuperset(model.getOwnedMembers().contains(literalString));
InterfaceRealization interfaceRealization = UML
.createInterfaceRealization();
assertValid(interfaceRealization);
model.getPackagedElements().add(interfaceRealization);
assertSuperset(model.getOwnedMembers().contains(interfaceRealization));
Enumeration enumeration = UML.createEnumeration();
assertValid(enumeration);
model.getPackagedElements().add(enumeration);
assertSuperset(model.getOwnedMembers().contains(enumeration));
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
model.getPackagedElements().add(primitiveType);
assertSuperset(model.getOwnedMembers().contains(primitiveType));
Actor actor = UML.createActor();
assertValid(actor);
model.getPackagedElements().add(actor);
assertSuperset(model.getOwnedMembers().contains(actor));
Profile profile = UML.createProfile();
assertValid(profile);
model.getPackagedElements().add(profile);
assertSuperset(model.getOwnedMembers().contains(profile));
TimeConstraint timeConstraint = UML.createTimeConstraint();
assertValid(timeConstraint);
model.getPackagedElements().add(timeConstraint);
assertSuperset(model.getOwnedMembers().contains(timeConstraint));
DurationInterval durationInterval = UML.createDurationInterval();
assertValid(durationInterval);
model.getPackagedElements().add(durationInterval);
assertSuperset(model.getOwnedMembers().contains(durationInterval));
GeneralizationSet generalizationSet = UML.createGeneralizationSet();
assertValid(generalizationSet);
model.getPackagedElements().add(generalizationSet);
assertSuperset(model.getOwnedMembers().contains(generalizationSet));
Signal signal = UML.createSignal();
assertValid(signal);
model.getPackagedElements().add(signal);
assertSuperset(model.getOwnedMembers().contains(signal));
Deployment deployment = UML.createDeployment();
assertValid(deployment);
model.getPackagedElements().add(deployment);
assertSuperset(model.getOwnedMembers().contains(deployment));
Artifact artifact = UML.createArtifact();
assertValid(artifact);
model.getPackagedElements().add(artifact);
assertSuperset(model.getOwnedMembers().contains(artifact));
InformationFlow informationFlow = UML.createInformationFlow();
assertValid(informationFlow);
model.getPackagedElements().add(informationFlow);
assertSuperset(model.getOwnedMembers().contains(informationFlow));
SignalEvent signalEvent = UML.createSignalEvent();
assertValid(signalEvent);
model.getPackagedElements().add(signalEvent);
assertSuperset(model.getOwnedMembers().contains(signalEvent));
OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
assertValid(opaqueExpression);
model.getPackagedElements().add(opaqueExpression);
assertSuperset(model.getOwnedMembers().contains(opaqueExpression));
TimeEvent timeEvent = UML.createTimeEvent();
assertValid(timeEvent);
model.getPackagedElements().add(timeEvent);
assertSuperset(model.getOwnedMembers().contains(timeEvent));
Usage usage = UML.createUsage();
assertValid(usage);
model.getPackagedElements().add(usage);
assertSuperset(model.getOwnedMembers().contains(usage));
AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
assertValid(anyReceiveEvent);
model.getPackagedElements().add(anyReceiveEvent);
assertSuperset(model.getOwnedMembers().contains(anyReceiveEvent));
ExecutionEnvironment executionEnvironment = UML
.createExecutionEnvironment();
assertValid(executionEnvironment);
model.getPackagedElements().add(executionEnvironment);
assertSuperset(model.getOwnedMembers().contains(executionEnvironment));
LiteralInteger literalInteger = UML.createLiteralInteger();
assertValid(literalInteger);
model.getPackagedElements().add(literalInteger);
assertSuperset(model.getOwnedMembers().contains(literalInteger));
DeploymentSpecification deploymentSpecification = UML
.createDeploymentSpecification();
assertValid(deploymentSpecification);
model.getPackagedElements().add(deploymentSpecification);
assertSuperset(
model.getOwnedMembers().contains(deploymentSpecification));
Realization realization = UML.createRealization();
assertValid(realization);
model.getPackagedElements().add(realization);
assertSuperset(model.getOwnedMembers().contains(realization));
Association association = UML.createAssociation();
assertValid(association);
model.getPackagedElements().add(association);
assertSuperset(model.getOwnedMembers().contains(association));
TimeInterval timeInterval = UML.createTimeInterval();
assertValid(timeInterval);
model.getPackagedElements().add(timeInterval);
assertSuperset(model.getOwnedMembers().contains(timeInterval));
DataType dataType = UML.createDataType();
assertValid(dataType);
model.getPackagedElements().add(dataType);
assertSuperset(model.getOwnedMembers().contains(dataType));
Substitution substitution = UML.createSubstitution();
assertValid(substitution);
model.getPackagedElements().add(substitution);
assertSuperset(model.getOwnedMembers().contains(substitution));
IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
assertValid(intervalConstraint);
model.getPackagedElements().add(intervalConstraint);
assertSuperset(model.getOwnedMembers().contains(intervalConstraint));
Extension extension = UML.createExtension();
assertValid(extension);
model.getPackagedElements().add(extension);
assertSuperset(model.getOwnedMembers().contains(extension));
LiteralBoolean literalBoolean = UML.createLiteralBoolean();
assertValid(literalBoolean);
model.getPackagedElements().add(literalBoolean);
assertSuperset(model.getOwnedMembers().contains(literalBoolean));
Dependency dependency = UML.createDependency();
assertValid(dependency);
model.getPackagedElements().add(dependency);
assertSuperset(model.getOwnedMembers().contains(dependency));
Expression expression = UML.createExpression();
assertValid(expression);
model.getPackagedElements().add(expression);
assertSuperset(model.getOwnedMembers().contains(expression));
ComponentRealization componentRealization = UML
.createComponentRealization();
assertValid(componentRealization);
model.getPackagedElements().add(componentRealization);
assertSuperset(model.getOwnedMembers().contains(componentRealization));
org.eclipse.uml2.uml.Class class_ = UML.createClass();
assertValid(class_);
model.getPackagedElements().add(class_);
assertSuperset(model.getOwnedMembers().contains(class_));
DurationConstraint durationConstraint = UML.createDurationConstraint();
assertValid(durationConstraint);
model.getPackagedElements().add(durationConstraint);
assertSuperset(model.getOwnedMembers().contains(durationConstraint));
LiteralNull literalNull = UML.createLiteralNull();
assertValid(literalNull);
model.getPackagedElements().add(literalNull);
assertSuperset(model.getOwnedMembers().contains(literalNull));
ProtocolStateMachine protocolStateMachine = UML
.createProtocolStateMachine();
assertValid(protocolStateMachine);
model.getPackagedElements().add(protocolStateMachine);
assertSuperset(model.getOwnedMembers().contains(protocolStateMachine));
UseCase useCase = UML.createUseCase();
assertValid(useCase);
model.getPackagedElements().add(useCase);
assertSuperset(model.getOwnedMembers().contains(useCase));
StringExpression stringExpression = UML.createStringExpression();
assertValid(stringExpression);
model.getPackagedElements().add(stringExpression);
assertSuperset(model.getOwnedMembers().contains(stringExpression));
Node node = UML.createNode();
assertValid(node);
model.getPackagedElements().add(node);
assertSuperset(model.getOwnedMembers().contains(node));
ChangeEvent changeEvent = UML.createChangeEvent();
assertValid(changeEvent);
model.getPackagedElements().add(changeEvent);
assertSuperset(model.getOwnedMembers().contains(changeEvent));
Constraint constraint = UML.createConstraint();
assertValid(constraint);
model.getPackagedElements().add(constraint);
assertSuperset(model.getOwnedMembers().contains(constraint));
Stereotype stereotype = UML.createStereotype();
assertValid(stereotype);
model.getPackagedElements().add(stereotype);
assertSuperset(model.getOwnedMembers().contains(stereotype));
StateMachine stateMachine = UML.createStateMachine();
assertValid(stateMachine);
model.getPackagedElements().add(stateMachine);
assertSuperset(model.getOwnedMembers().contains(stateMachine));
EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
assertValid(enumerationLiteral);
model.getPackagedElements().add(enumerationLiteral);
assertSuperset(model.getOwnedMembers().contains(enumerationLiteral));
Collaboration collaboration = UML.createCollaboration();
assertValid(collaboration);
model.getPackagedElements().add(collaboration);
assertSuperset(model.getOwnedMembers().contains(collaboration));
}
public void testProfileApplication() {
Model model = UML.createModel();
assertValid(model);
ProfileApplication profileApplication = UML.createProfileApplication();
assertValid(profileApplication);
model.getProfileApplications().add(profileApplication);
assertSuperset(model.getOwnedElements().contains(profileApplication));
}
}