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