blob: bc76d1078dc0ef6c2e9e9a184427f16c7af8fa9f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2013 CEA LIST.
* 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:
* Cedric Dumoulin - cedric.dumoulin@lifl.fr
******************************************************************************/
package org.eclipse.papyrus.layers.runtime.tests;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import org.eclipse.emf.common.util.URI;
import org.eclipse.gmf.runtime.notation.Diagram;
import org.eclipse.gmf.runtime.notation.NotationFactory;
import org.eclipse.papyrus.infra.core.resource.ModelSet;
import org.eclipse.papyrus.infra.gmfdiag.layers.runtime.NotationDiagramHelper;
import org.eclipse.papyrus.infra.gmfdiag.layers.runtime.model.LayersModelResource;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
/**
* @author cedric dumoulin
*
*/
public class NotationDiagramMngrTest {
/**
* URI used to store the created model.
*/
protected static final String PROJECT_MODEL_URI = "org.eclipse.papyrus.infra.core/tmp/model1.di";
/**
* ModelSet created for each test
*/
protected ModelSet modelSet;
/**
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
// Create ModelSet and Model
ModelSet mngr = new ModelSet();
LayersModelResource layersModel = new LayersModelResource();
mngr.registerModel(layersModel);
// Do create resources
URI uri = URI.createPlatformResourceURI(PROJECT_MODEL_URI, true);
mngr.createModels(uri);
modelSet = mngr;
}
/**
* @throws java.lang.Exception
*/
@After
public void tearDown() throws Exception {
modelSet.unload();
}
/**
* Test method for {@link org.eclipse.papyrus.infra.gmfdiag.layers.runtime.NotationDiagramHelper#NotationDiagramMngr(org.eclipse.gmf.runtime.notation.Diagram)}.
*/
@Test
public void testNotationDiagramHelper() {
// Create a Diagram
Diagram diagram = NotationFactory.eINSTANCE.createDiagram();
// Get LayersModel
LayersModelResource layersModel = (LayersModelResource) modelSet.getModel(LayersModelResource.MODEL_ID);
// Check creation
NotationDiagramHelper diagramHelper = new NotationDiagramHelper(layersModel, diagram);
assertNotNull("ManagerCreated", diagramHelper);
}
/**
* Test method for {@link org.eclipse.papyrus.infra.gmfdiag.layers.runtime.NotationDiagramHelper#dispose()}.
*/
@Test
public void testDispose() {
// Create a Diagram
Diagram diagram = NotationFactory.eINSTANCE.createDiagram();
// Get LayersModel
LayersModelResource layersModel = (LayersModelResource) modelSet.getModel(LayersModelResource.MODEL_ID);
// Create mngr
NotationDiagramHelper diagramHelper = new NotationDiagramHelper(layersModel, diagram);
// Do dispose
diagramHelper.dispose();
// Check disposal
assertNull("disposed", diagramHelper.getDiagram());
}
/**
* Test method for {@link org.eclipse.papyrus.infra.gmfdiag.layers.runtime.NotationDiagramHelper#getDiagram()}.
*/
@Test
public void testGetDiagram() {
// Create a Diagram
Diagram diagram = NotationFactory.eINSTANCE.createDiagram();
// Get LayersModel
LayersModelResource layersModel = (LayersModelResource) modelSet.getModel(LayersModelResource.MODEL_ID);
// Create mngr
NotationDiagramHelper diagramHelper = new NotationDiagramHelper(layersModel, diagram);
// check
assertNotNull("getDiagram", diagramHelper.getDiagram());
assertSame("getDiagram", diagram, diagramHelper.getDiagram());
}
/**
* Test method for {@link org.eclipse.papyrus.infra.gmfdiag.layers.runtime.NotationDiagramHelper#attachLayerStack()}.
*/
@Test
public void testAttachLayerStack() {
// Create a Diagram
Diagram diagram = NotationFactory.eINSTANCE.createDiagram();
// Get LayersModel
LayersModelResource layersModel = (LayersModelResource) modelSet.getModel(LayersModelResource.MODEL_ID);
// Create mngr
NotationDiagramHelper diagramHelper = new NotationDiagramHelper(layersModel, diagram);
diagramHelper.attachLayersStack();
assertTrue("LayerStack is attached to diagram", diagramHelper.isLayersStackAttached());
}
/**
* Test method for {@link org.eclipse.papyrus.infra.gmfdiag.layers.runtime.NotationDiagramHelper#removeLayerStack()}.
*/
@Test
public void testRemoveLayerStack() {
// Create a Diagram
Diagram diagram = NotationFactory.eINSTANCE.createDiagram();
// Get LayersModel
LayersModelResource layersModel = (LayersModelResource) modelSet.getModel(LayersModelResource.MODEL_ID);
// Create mngr
NotationDiagramHelper diagramHelper = new NotationDiagramHelper(layersModel, diagram);
diagramHelper.attachLayersStack();
assertTrue("LayerStack is attached to diagram", diagramHelper.isLayersStackAttached());
// Try to remove LayerStack
diagramHelper.removeLayersStack();
assertFalse("LayerStack is detached from diagram", diagramHelper.isLayersStackAttached());
}
/**
* Test method for {@link org.eclipse.papyrus.infra.gmfdiag.layers.runtime.NotationDiagramHelper#isLayerStackAttached()}.
*/
@Test
public void testIsLayerStackAttached() {
// Create a Diagram
Diagram diagram = NotationFactory.eINSTANCE.createDiagram();
// Get LayersModel
LayersModelResource layersModel = (LayersModelResource) modelSet.getModel(LayersModelResource.MODEL_ID);
// Create mngr
NotationDiagramHelper diagramHelper = new NotationDiagramHelper(layersModel, diagram);
}
}