blob: 48d6a13e47d407fca3b2a566df6bc0dc074eea8b [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.Collaboration;
import org.eclipse.uml2.uml.Comment;
import org.eclipse.uml2.uml.CommunicationPath;
import org.eclipse.uml2.uml.Component;
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.Duration;
import org.eclipse.uml2.uml.DurationInterval;
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.Enumeration;
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.InformationItem;
import org.eclipse.uml2.uml.InstanceValue;
import org.eclipse.uml2.uml.Interaction;
import org.eclipse.uml2.uml.Interface;
import org.eclipse.uml2.uml.Interval;
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.Node;
import org.eclipse.uml2.uml.OpaqueBehavior;
import org.eclipse.uml2.uml.OpaqueExpression;
import org.eclipse.uml2.uml.PrimitiveType;
import org.eclipse.uml2.uml.ProtocolStateMachine;
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.TimeExpression;
import org.eclipse.uml2.uml.TimeInterval;
import org.eclipse.uml2.uml.UseCase;
/**
* @author Eike Stepper
*/
public class ExpressionTest
extends _Abstract_Compliance_Test_ {
public void testEAnnotations() {
Expression expression = UML.createExpression();
assertValid(expression);
EAnnotation eAnnotation = ECORE.createEAnnotation();
assertValid(eAnnotation);
expression.getEAnnotations().add(eAnnotation);
}
public void testOwnedComment() {
Expression expression = UML.createExpression();
assertValid(expression);
Comment comment = UML.createComment();
assertValid(comment);
expression.getOwnedComments().add(comment);
assertSuperset(expression.getOwnedElements().contains(comment));
}
public void testOwnedElement() {
Expression expression = UML.createExpression();
assertValid(expression);
EList<Element> elements = expression.getOwnedElements();
EList<Element> elements2 = expression.getOwnedElements();
assertSame(elements, elements2);
}
public void testClientDependency() {
Expression expression = UML.createExpression();
assertValid(expression);
EList<Dependency> dependencys = expression.getClientDependencies();
EList<Dependency> dependencys2 = expression.getClientDependencies();
assertSame(dependencys, dependencys2);
}
public void testNameExpression() {
Expression expression = UML.createExpression();
assertValid(expression);
StringExpression stringExpression = UML.createStringExpression();
assertValid(stringExpression);
expression.setNameExpression(stringExpression);
assertSuperset(
expression.getOwnedElements().contains(stringExpression));
}
public void testOwningTemplateParameter() {
Expression expression = UML.createExpression();
assertValid(expression);
TemplateParameter templateParameter = UML.createTemplateParameter();
assertValid(templateParameter);
expression.setOwningTemplateParameter(templateParameter);
assertSuperset(expression.getOwner() == templateParameter);
assertSuperset(expression.getTemplateParameter() == templateParameter);
}
public void testTemplateParameter() {
Expression expression = UML.createExpression();
assertValid(expression);
TemplateParameter templateParameter = UML.createTemplateParameter();
assertValid(templateParameter);
expression.setTemplateParameter(templateParameter);
}
public void testType() {
Expression expression = UML.createExpression();
assertValid(expression);
FunctionBehavior functionBehavior = UML.createFunctionBehavior();
assertValid(functionBehavior);
expression.setType(functionBehavior);
Activity activity = UML.createActivity();
assertValid(activity);
expression.setType(activity);
Expression expression2 = UML.createExpression();
assertValid(expression2);
Interface interface_ = UML.createInterface();
assertValid(interface_);
expression2.setType(interface_);
InformationItem informationItem = UML.createInformationItem();
assertValid(informationItem);
expression2.setType(informationItem);
Expression expression3 = UML.createExpression();
assertValid(expression3);
CommunicationPath communicationPath = UML.createCommunicationPath();
assertValid(communicationPath);
expression3.setType(communicationPath);
ExecutionEnvironment executionEnvironment = UML
.createExecutionEnvironment();
assertValid(executionEnvironment);
expression3.setType(executionEnvironment);
Expression expression4 = UML.createExpression();
assertValid(expression4);
Component component = UML.createComponent();
assertValid(component);
expression4.setType(component);
Interaction interaction = UML.createInteraction();
assertValid(interaction);
expression4.setType(interaction);
Expression expression5 = UML.createExpression();
assertValid(expression5);
DeploymentSpecification deploymentSpecification = UML
.createDeploymentSpecification();
assertValid(deploymentSpecification);
expression5.setType(deploymentSpecification);
OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
assertValid(opaqueBehavior);
expression5.setType(opaqueBehavior);
Expression expression6 = UML.createExpression();
assertValid(expression6);
Association association = UML.createAssociation();
assertValid(association);
expression6.setType(association);
DataType dataType = UML.createDataType();
assertValid(dataType);
expression6.setType(dataType);
Expression expression7 = UML.createExpression();
assertValid(expression7);
Device device = UML.createDevice();
assertValid(device);
expression7.setType(device);
Extension extension = UML.createExtension();
assertValid(extension);
expression7.setType(extension);
Expression expression8 = UML.createExpression();
assertValid(expression8);
AssociationClass associationClass = UML.createAssociationClass();
assertValid(associationClass);
expression8.setType(associationClass);
org.eclipse.uml2.uml.Class class_ = UML.createClass();
assertValid(class_);
expression8.setType(class_);
Expression expression9 = UML.createExpression();
assertValid(expression9);
Enumeration enumeration = UML.createEnumeration();
assertValid(enumeration);
expression9.setType(enumeration);
PrimitiveType primitiveType = UML.createPrimitiveType();
assertValid(primitiveType);
expression9.setType(primitiveType);
Expression expression10 = UML.createExpression();
assertValid(expression10);
Actor actor = UML.createActor();
assertValid(actor);
expression10.setType(actor);
ProtocolStateMachine protocolStateMachine = UML
.createProtocolStateMachine();
assertValid(protocolStateMachine);
expression10.setType(protocolStateMachine);
Expression expression11 = UML.createExpression();
assertValid(expression11);
UseCase useCase = UML.createUseCase();
assertValid(useCase);
expression11.setType(useCase);
Signal signal = UML.createSignal();
assertValid(signal);
expression11.setType(signal);
Expression expression12 = UML.createExpression();
assertValid(expression12);
Node node = UML.createNode();
assertValid(node);
expression12.setType(node);
Stereotype stereotype = UML.createStereotype();
assertValid(stereotype);
expression12.setType(stereotype);
Expression expression13 = UML.createExpression();
assertValid(expression13);
StateMachine stateMachine = UML.createStateMachine();
assertValid(stateMachine);
expression13.setType(stateMachine);
Artifact artifact = UML.createArtifact();
assertValid(artifact);
expression13.setType(artifact);
Expression expression14 = UML.createExpression();
assertValid(expression14);
Collaboration collaboration = UML.createCollaboration();
assertValid(collaboration);
expression14.setType(collaboration);
}
public void testOperand() {
Expression expression = UML.createExpression();
assertValid(expression);
LiteralBoolean literalBoolean = UML.createLiteralBoolean();
assertValid(literalBoolean);
expression.getOperands().add(literalBoolean);
assertSuperset(expression.getOwnedElements().contains(literalBoolean));
Interval interval = UML.createInterval();
assertValid(interval);
expression.getOperands().add(interval);
assertSuperset(expression.getOwnedElements().contains(interval));
OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
assertValid(opaqueExpression);
expression.getOperands().add(opaqueExpression);
assertSuperset(
expression.getOwnedElements().contains(opaqueExpression));
Expression expression2 = UML.createExpression();
assertValid(expression2);
expression.getOperands().add(expression2);
assertSuperset(expression.getOwnedElements().contains(expression2));
LiteralReal literalReal = UML.createLiteralReal();
assertValid(literalReal);
expression.getOperands().add(literalReal);
assertSuperset(expression.getOwnedElements().contains(literalReal));
LiteralString literalString = UML.createLiteralString();
assertValid(literalString);
expression.getOperands().add(literalString);
assertSuperset(expression.getOwnedElements().contains(literalString));
LiteralNull literalNull = UML.createLiteralNull();
assertValid(literalNull);
expression.getOperands().add(literalNull);
assertSuperset(expression.getOwnedElements().contains(literalNull));
Duration duration = UML.createDuration();
assertValid(duration);
expression.getOperands().add(duration);
assertSuperset(expression.getOwnedElements().contains(duration));
LiteralInteger literalInteger = UML.createLiteralInteger();
assertValid(literalInteger);
expression.getOperands().add(literalInteger);
assertSuperset(expression.getOwnedElements().contains(literalInteger));
DurationInterval durationInterval = UML.createDurationInterval();
assertValid(durationInterval);
expression.getOperands().add(durationInterval);
assertSuperset(
expression.getOwnedElements().contains(durationInterval));
StringExpression stringExpression = UML.createStringExpression();
assertValid(stringExpression);
expression.getOperands().add(stringExpression);
assertSuperset(
expression.getOwnedElements().contains(stringExpression));
LiteralUnlimitedNatural literalUnlimitedNatural = UML
.createLiteralUnlimitedNatural();
assertValid(literalUnlimitedNatural);
expression.getOperands().add(literalUnlimitedNatural);
assertSuperset(
expression.getOwnedElements().contains(literalUnlimitedNatural));
TimeInterval timeInterval = UML.createTimeInterval();
assertValid(timeInterval);
expression.getOperands().add(timeInterval);
assertSuperset(expression.getOwnedElements().contains(timeInterval));
TimeExpression timeExpression = UML.createTimeExpression();
assertValid(timeExpression);
expression.getOperands().add(timeExpression);
assertSuperset(expression.getOwnedElements().contains(timeExpression));
InstanceValue instanceValue = UML.createInstanceValue();
assertValid(instanceValue);
expression.getOperands().add(instanceValue);
assertSuperset(expression.getOwnedElements().contains(instanceValue));
}
}