blob: 27b94c5b7546a5feace0a41cc32d7b4a6eaedab7 [file] [log] [blame]
/*****************************************************************************
* Copyright (c) 2012, 2014 CEA LIST 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:
*
* CEA LIST - Initial API and implementation
* Christian W. Damus (CEA) - bug 434993
*
*****************************************************************************/
package org.eclipse.papyrus.sysml.diagram.internalblock.tests.creation.link.connector;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.uml2.uml.Property;
import org.junit.BeforeClass;
/**
* JUnit tests for Connector link creation test (via palette tools).
*/
public class TestLinkCreationConnectorFromSubNestedValue extends AbstractLinkCreationFromElementTest {
@BeforeClass
public static void initSource() throws Exception {
sourceView = subNestedValueContainer1_1_1SourceView;
}
@BeforeClass
public static void initToolID() throws Exception {
toolID = "internalblock.tool.connector";
}
@BeforeClass
public static void initExpectedResults() throws Exception {
// Initialize source creation results
isCreationAllowed.put(blockTargetView, false);
isCreationAllowed.put(actorPartTargetView, true);
isCreationAllowed.put(nestedActorPartTargetView, true);
isCreationAllowed.put(portOnBlockTargetView, true);
isCreationAllowed.put(portOnPartTargetView, true);
isCreationAllowed.put(portOnNestedPartTargetView, true);
isCreationAllowed.put(flowportOnBlockTargetView, true);
isCreationAllowed.put(flowportOnPartTargetView, true);
isCreationAllowed.put(flowportOnNestedPartTargetView, true);
isCreationAllowed.put(partTargetView, true);
isCreationAllowed.put(nestedPartTargetView, true);
isCreationAllowed.put(subNestedPartContainer1_1_1TargetView, true);
isCreationAllowed.put(subNestedPartContainer1_2_1TargetView, true);
isCreationAllowed.put(subNestedPartContainer1_1_2TargetView, true);
isCreationAllowed.put(propertyTargetView, true);
isCreationAllowed.put(nestedPropertyTargetView, true);
isCreationAllowed.put(referenceTargetView, true);
isCreationAllowed.put(nestedReferenceTargetView, true);
isCreationAllowed.put(valueTargetView, true);
isCreationAllowed.put(nestedValueTargetView, true);
isCreationAllowed.put(commentTargetView, false);
isCreationAllowed.put(commentCNTargetView, false);
isCreationAllowed.put(constraintTargetView, false);
isCreationAllowed.put(constraintCNTargetView, false);
// Initialize nested property path for tests
Property part1 = (Property)partContainer1.getElement();
Property part2 = (Property)partContainer2.getElement();
Property nestedPartContainer1_1Property = (Property)nestedPartContainer1_1.getElement();
Property nestedPartContainer1_2Property = (Property)nestedPartContainer1_2.getElement();
Property nestedPartContainer2_1Property = (Property)nestedPartContainer2_1.getElement();
List<Property> subNestedPath1_1 = Arrays.asList(part1, nestedPartContainer1_1Property);
List<Property> subNestedPath2_1 = Arrays.asList(nestedPartContainer2_1Property);
List<Property> subNestedPath1_2 = Arrays.asList(new Property[]{ part2, nestedPartContainer1_2Property });
List<Property> emptyPath = Collections.emptyList();
List<Property> nestedPath = Arrays.asList(new Property[]{ nestedPartContainer1_1Property });
for(View view : isCreationAllowed.keySet()) {
expectedSourceNestedPath.put(view, emptyPath);
expectedTargetNestedPath.put(view, emptyPath);
}
expectedSourceNestedPath.put(blockTargetView, subNestedPath1_1);
expectedSourceNestedPath.put(actorPartTargetView, subNestedPath1_1);
expectedSourceNestedPath.put(portOnBlockTargetView, subNestedPath1_1);
expectedSourceNestedPath.put(portOnPartTargetView, subNestedPath1_1);
expectedTargetNestedPath.put(subNestedPartContainer1_1_2TargetView, subNestedPath1_2);
expectedSourceNestedPath.put(subNestedPartContainer1_1_2TargetView, subNestedPath1_1);
expectedSourceNestedPath.put(subNestedPartContainer1_2_1TargetView, nestedPath);
expectedTargetNestedPath.put(subNestedPartContainer1_2_1TargetView, subNestedPath2_1);
expectedSourceNestedPath.put(flowportOnBlockTargetView, subNestedPath1_1);
expectedSourceNestedPath.put(flowportOnPartTargetView, subNestedPath1_1);
expectedSourceNestedPath.put(partTargetView, subNestedPath1_1);
expectedSourceNestedPath.put(propertyTargetView, subNestedPath1_1);
expectedSourceNestedPath.put(referenceTargetView, subNestedPath1_1);
expectedSourceNestedPath.put(valueTargetView, subNestedPath1_1);
expectedSourceNestedPath.put(nestedActorPartTargetView, nestedPath);
expectedSourceNestedPath.put(nestedPartTargetView, nestedPath);
expectedSourceNestedPath.put(nestedPropertyTargetView, nestedPath);
expectedSourceNestedPath.put(nestedReferenceTargetView, nestedPath);
expectedSourceNestedPath.put(nestedValueTargetView, nestedPath);
expectedSourceNestedPath.put(portOnNestedPartTargetView, nestedPath);
expectedSourceNestedPath.put(flowportOnNestedPartTargetView, nestedPath);
}
}