diff options
Diffstat (limited to 'extraplugins/layers/org.eclipse.papyrus.layers.runtime/tests/org/eclipse/papyrus/layers/runtime/LayerStackSynchronizerWithApplicationTest.java')
-rw-r--r-- | extraplugins/layers/org.eclipse.papyrus.layers.runtime/tests/org/eclipse/papyrus/layers/runtime/LayerStackSynchronizerWithApplicationTest.java | 685 |
1 files changed, 685 insertions, 0 deletions
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.runtime/tests/org/eclipse/papyrus/layers/runtime/LayerStackSynchronizerWithApplicationTest.java b/extraplugins/layers/org.eclipse.papyrus.layers.runtime/tests/org/eclipse/papyrus/layers/runtime/LayerStackSynchronizerWithApplicationTest.java new file mode 100644 index 00000000000..cd1e9519fcb --- /dev/null +++ b/extraplugins/layers/org.eclipse.papyrus.layers.runtime/tests/org/eclipse/papyrus/layers/runtime/LayerStackSynchronizerWithApplicationTest.java @@ -0,0 +1,685 @@ +/******************************************************************************* + * 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; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; +import java.util.List; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.gmf.runtime.notation.Diagram; +import org.eclipse.gmf.runtime.notation.NotationFactory; +import org.eclipse.gmf.runtime.notation.View; +import org.eclipse.papyrus.infra.core.resource.ModelSet; +import org.eclipse.papyrus.layers.runtime.utils.TriggeredEventTraces; +import org.eclipse.papyrus.layers.runtime.utils.TriggeredEventTraces.TriggeredEvent; +import org.eclipse.papyrus.layers.stackmodel.LayersException; +import org.eclipse.papyrus.layers.stackmodel.layers.BooleanInstance; +import org.eclipse.papyrus.layers.stackmodel.layers.Layer; +import org.eclipse.papyrus.layers.stackmodel.layers.LayerOperator; +import org.eclipse.papyrus.layers.stackmodel.layers.LayersFactory; +import org.eclipse.papyrus.layers.stackmodel.layers.LayersStack; +import org.eclipse.papyrus.layers.stackmodel.layers.LayersStackApplication; +import org.eclipse.papyrus.layers.stackmodel.layers.Property; +import org.eclipse.papyrus.layers.stackmodel.layers.PropertyRegistry; +import org.eclipse.papyrus.layers.stackmodel.layers.StringInstance; +import org.eclipse.papyrus.layers.stackmodel.layers.TopLayerOperator; +import org.eclipse.papyrus.layers.stackmodel.layers.TypeInstance; +import org.junit.After; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Test the {@link LayerStackSynchronizer} by initializing it from the {@link LayersStackApplication} + * class. + * + * + * @author cedric dumoulin + * + */ +public class LayerStackSynchronizerWithApplicationTest { + + /** + * 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(); +// // LayersModel +// LayersModel layersModel = new LayersModel(); +// mngr.registerModel(layersModel); +// // Notation model +// NotationModel notationModel = new NotationModel(); +// mngr.registerModel(notationModel); +// // 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.layers.runtime.LayerStackSynchronizer#LayerStackSynchronizer(org.eclipse.papyrus.layers.stackmodel.layers.LayersStack)}. + * @throws LayersException + */ + @Test + public void testLayerStackSynchronizer() throws LayersException { + // Create requested objects + LayersStackApplication application = LayersFactory.eINSTANCE.createLayersStackApplication(); + PropertyRegistry propertyRegistry = application.getPropertyRegistry(); + Diagram diagram = NotationFactory.eINSTANCE.createDiagram(); + + // Create stack + LayersStack stack = application.getLayersStackFor(diagram); + + // Create synchronizer + LayerStackSynchronizer synchronizer = new LayerStackSynchronizer(stack); + + // Check creation + assertNotNull("object created", synchronizer); + + // Create a TopLayer + TopLayerOperator layer = LayersFactory.eINSTANCE.createTopLayerOperator(); + layer.setApplication(application); + + // Create Views + View view1 = NotationFactory.eINSTANCE.createShape(); + View view2 = NotationFactory.eINSTANCE.createShape(); + View view3 = NotationFactory.eINSTANCE.createShape(); + View view4 = NotationFactory.eINSTANCE.createShape(); + + // Create Properties + int index = 0; + Property property1 = propertyRegistry.getProperties().get(index++); + Property property2 = propertyRegistry.getProperties().get(index++); + Property property3 = propertyRegistry.getProperties().get(index++); + Property property4 = propertyRegistry.getProperties().get(index++); + + // Create layer1: views ={} propInstances={} + Layer layer1 = createLayer( layer, Arrays.asList(view1), Arrays.asList(property1)); + + // Create layer2: views ={} propInstances={} + Layer layer2 = createLayer( layer, Arrays.asList(view1, view2), Arrays.asList(property1, property2)); + + // Create layer3: views ={} propInstances={} + Layer layer3 = createLayer( layer, Arrays.asList(view3), Arrays.asList(property3)); + + + + + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#getDiagram()}. + */ + @Test + public void testGetDiagram() { + // Create requested objects + LayersStackApplication application = LayersFactory.eINSTANCE.createLayersStackApplication(); + PropertyRegistry propertyRegistry = application.getPropertyRegistry(); + Diagram diagram = NotationFactory.eINSTANCE.createDiagram(); + + // Create stack + LayersStack stack = application.getLayersStackFor(diagram); + + // Create synchronizer + LayerStackSynchronizer synchronizer = new LayerStackSynchronizer(stack); + + + // Check creation + assertNotNull("getDiagram", synchronizer.getDiagram()); + assertSame("getDiagram", diagram, synchronizer.getDiagram()); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#getLayersStack()}. + */ + @Test + public void testGetLayersStack() { + // Create requested objects + LayersStackApplication application = LayersFactory.eINSTANCE.createLayersStackApplication(); + PropertyRegistry propertyRegistry = application.getPropertyRegistry(); + Diagram diagram = NotationFactory.eINSTANCE.createDiagram(); + + // Create stack + LayersStack stack = application.getLayersStackFor(diagram); + + // Create synchronizer + LayerStackSynchronizer synchronizer = new LayerStackSynchronizer(stack); + + + // Check creation + assertNotNull("getLayersStack", synchronizer.getLayersStack()); + assertSame("getLayersStack", stack, synchronizer.getLayersStack()); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#dispose()}. + */ + @Test + @Ignore + public void testDispose() { + fail("Not yet implemented"); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#isDisposed()}. + */ + @Test + @Ignore + public void testIsDisposed() { + fail("Not yet implemented"); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#propertyValueAdded(org.eclipse.emf.common.notify.Notification)}. + * @throws LayersException + */ + @Test + public void testPropertyValueAdded() throws LayersException { + // Create requested objects + LayersStackApplication application = LayersFactory.eINSTANCE.createLayersStackApplication(); + PropertyRegistry propertyRegistry = application.getPropertyRegistry(); + Diagram diagram = NotationFactory.eINSTANCE.createDiagram(); + + // Create stack + LayersStack stack = application.getLayersStackFor(diagram); + + // Create a TopLayer + TopLayerOperator layer = LayersFactory.eINSTANCE.createTopLayerOperator(); + layer.setApplication(application); + stack.setLayers(layer); + + // Create synchronizer + LayerStackSynchronizerSubclass synchronizer = new LayerStackSynchronizerSubclass(stack); + TriggeredEventTraces traces = synchronizer.traces; + + // Create Views + View view1 = NotationFactory.eINSTANCE.createShape(); + + // Create Properties + int index = 0; + Property property1 = propertyRegistry.getProperties().get(index++); + Property property2 = propertyRegistry.getProperties().get(index++); + + // Create layer1: views ={} propInstances={} + Layer layer1 = createLayer( layer, Arrays.asList(view1), Arrays.asList(property1)); + + // Checks + traces.clear(); + // add a property + layer1.addPropertyInstance(property2); + + assertTrue("event sent", traces.size()>0); + assertSame("event sent", "propertyValueAdded", traces.get(0).name); + + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#propertyValueRemoved(org.eclipse.emf.common.notify.Notification)}. + * @throws LayersException + */ + @Test + public void testPropertyValueRemoved() throws LayersException { + // Create requested objects + LayersStackApplication application = LayersFactory.eINSTANCE.createLayersStackApplication(); + PropertyRegistry propertyRegistry = application.getPropertyRegistry(); + Diagram diagram = NotationFactory.eINSTANCE.createDiagram(); + + // Create stack + LayersStack stack = application.getLayersStackFor(diagram); + + // Create a TopLayer + TopLayerOperator layer = LayersFactory.eINSTANCE.createTopLayerOperator(); + layer.setApplication(application); + stack.setLayers(layer); + + // Create synchronizer + LayerStackSynchronizerSubclass synchronizer = new LayerStackSynchronizerSubclass(stack); + TriggeredEventTraces traces = synchronizer.traces; + + // Create Views + View view1 = NotationFactory.eINSTANCE.createShape(); + + // Create Properties + int index = 0; + Property property1 = propertyRegistry.getProperties().get(index++); + Property property2 = propertyRegistry.getProperties().get(index++); + + // Create layer1: views ={} propInstances={} + Layer layer1 = createLayer( layer, Arrays.asList(view1), Arrays.asList(property1, property2)); + + // Checks + traces.clear(); + // remove a property + layer1.removePropertyInstance(property2); + + assertTrue("event sent", traces.size()>0); + assertSame("event sent", "propertyValueRemoved", traces.get(0).name); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#propertyValueChanged(org.eclipse.emf.common.notify.Notification)}. + * @throws LayersException + */ + @Test + public void testPropertyValueChanged() throws LayersException { + // Create requested objects + LayersStackApplication application = LayersFactory.eINSTANCE.createLayersStackApplication(); + PropertyRegistry propertyRegistry = application.getPropertyRegistry(); + Diagram diagram = NotationFactory.eINSTANCE.createDiagram(); + + // Create stack + LayersStack stack = application.getLayersStackFor(diagram); + + // Create a TopLayer + TopLayerOperator layer = LayersFactory.eINSTANCE.createTopLayerOperator(); + layer.setApplication(application); + stack.setLayers(layer); + + // Create synchronizer + LayerStackSynchronizerSubclass synchronizer = new LayerStackSynchronizerSubclass(stack); + TriggeredEventTraces traces = synchronizer.traces; + + // Create Views + View view1 = NotationFactory.eINSTANCE.createShape(); + + // Create Properties + int index = 0; + Property property1 = propertyRegistry.getProperties().get(index++); + Property property2 = propertyRegistry.getProperties().get(index++); + + // Create layer1: views ={} propInstances={} + Layer layer1 = createLayer( layer, Arrays.asList(view1), Arrays.asList(property1, property2)); + + // Checks + traces.clear(); + // change a property value + TypeInstance value = layer1.getPropertyInstance(property1); + // Check the type of the instance + // We don't know the type as it is set externally in the Property registry. + if( value instanceof StringInstance) { + assertTrue("value is instance of String", value instanceof StringInstance); + StringInstance stringValue = (StringInstance)value; + stringValue.setValue("newValue"); + } + else if( value instanceof BooleanInstance) { + BooleanInstance realValue = (BooleanInstance)value; + realValue.setValue(true); + } + + // What for ? + layer1.removePropertyInstance(property2); + + assertTrue("event sent", traces.size()>0); + assertSame("event sent", "propertyValueChanged", traces.get(0).name); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#layerAdded(org.eclipse.emf.common.notify.Notification)}. + */ + @Test + @Ignore + public void testLayerAdded() { + fail("Not yet implemented"); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#layerRemoved(org.eclipse.emf.common.notify.Notification)}. + */ + @Test + @Ignore + public void testLayerRemoved() { + fail("Not yet implemented"); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#layerMoved(org.eclipse.emf.common.notify.Notification)}. + */ + @Test + @Ignore + public void testLayerMoved() { + fail("Not yet implemented"); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#layerSet(org.eclipse.emf.common.notify.Notification)}. + */ + @Test + @Ignore + public void testLayerSet() { + fail("Not yet implemented"); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#viewAddedToLayer(org.eclipse.emf.common.notify.Notification)}. + * @throws LayersException + */ + @Test + public void testViewAddedToLayer() throws LayersException { + // Create requested objects + LayersStackApplication application = LayersFactory.eINSTANCE.createLayersStackApplication(); + PropertyRegistry propertyRegistry = application.getPropertyRegistry(); + Diagram diagram = NotationFactory.eINSTANCE.createDiagram(); + + // Create stack + LayersStack stack = application.getLayersStackFor(diagram); + + // Create a TopLayer + TopLayerOperator layer = LayersFactory.eINSTANCE.createTopLayerOperator(); + layer.setApplication(application); + stack.setLayers(layer); + + // Create synchronizer + LayerStackSynchronizerSubclass synchronizer = new LayerStackSynchronizerSubclass(stack); + TriggeredEventTraces traces = synchronizer.traces; + + // Create Views + View view1 = NotationFactory.eINSTANCE.createShape(); + View view2 = NotationFactory.eINSTANCE.createShape(); + + // Create Properties + int index = 0; + Property property1 = propertyRegistry.getProperties().get(index++); + + // Create layer1: views ={} propInstances={} + Layer layer1 = createLayer( layer, Arrays.asList(view1), Arrays.asList(property1)); + + // action + traces.clear(); + // remove a view + layer1.getViews().add(view2); + + // assert + assertTrue("event sent", traces.size()>0); + TriggeredEvent event = traces.get(0); + assertSame("event sent", "viewAddedToLayer", event.name); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#viewAddedToLayer(org.eclipse.emf.common.notify.Notification)}. + * @throws LayersException + */ + @Test + public void testNViewAddedToLayer() throws LayersException { + // Create requested objects + LayersStackApplication application = LayersFactory.eINSTANCE.createLayersStackApplication(); + PropertyRegistry propertyRegistry = application.getPropertyRegistry(); + Diagram diagram = NotationFactory.eINSTANCE.createDiagram(); + + // Create stack + LayersStack stack = application.getLayersStackFor(diagram); + + // Create a TopLayer + TopLayerOperator layer = LayersFactory.eINSTANCE.createTopLayerOperator(); + layer.setApplication(application); + stack.setLayers(layer); + + // Create synchronizer + LayerStackSynchronizerSubclass synchronizer = new LayerStackSynchronizerSubclass(stack); + TriggeredEventTraces traces = synchronizer.traces; + + // Create Views + View view1 = NotationFactory.eINSTANCE.createShape(); + View view2 = NotationFactory.eINSTANCE.createShape(); + View view3 = NotationFactory.eINSTANCE.createShape(); + + List<View> viewsToAttach = Arrays.asList(view1); + List<View> viewsToAdd = Arrays.asList(view2, view3); + + // Create Properties + int index = 0; + Property property1 = propertyRegistry.getProperties().get(index++); + + // Create layer1: views ={} propInstances={} + Layer layer1 = createLayer( layer, viewsToAttach, Arrays.asList(property1)); + + // action + traces.clear(); + // remove a view + layer1.getViews().addAll(viewsToAdd ); + + // assert + assertTrue("event sent", traces.size()>0); + TriggeredEvent event = traces.get(0); + assertSame("event sent", "multiViewsAddedToLayer", event.name); + + // Check the collection + Notification notification = event.notifier; + assertNotNull("notification is set", notification); + + List<View> addedViews = LayersModelEventUtils.ViewEvents.getViewsAdded(notification); + assertEquals( "both removed list have the same size", viewsToAdd.size(), addedViews.size()); + assertTrue( "notification contains removed views", addedViews.containsAll(viewsToAdd)); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#viewRemovedFromLayer(org.eclipse.emf.common.notify.Notification)}. + * @throws LayersException + */ + @Test + public void testViewRemovedFromLayer() throws LayersException { + // Create requested objects + LayersStackApplication application = LayersFactory.eINSTANCE.createLayersStackApplication(); + PropertyRegistry propertyRegistry = application.getPropertyRegistry(); + Diagram diagram = NotationFactory.eINSTANCE.createDiagram(); + + // Create stack + LayersStack stack = application.getLayersStackFor(diagram); + + // Create a TopLayer + TopLayerOperator layer = LayersFactory.eINSTANCE.createTopLayerOperator(); + layer.setApplication(application); + stack.setLayers(layer); + + // Create synchronizer + LayerStackSynchronizerSubclass synchronizer = new LayerStackSynchronizerSubclass(stack); + TriggeredEventTraces traces = synchronizer.traces; + + // Create Views + View view1 = NotationFactory.eINSTANCE.createShape(); + View view2 = NotationFactory.eINSTANCE.createShape(); + + // Create Properties + int index = 0; + Property property1 = propertyRegistry.getProperties().get(index++); + + // Create layer1: views ={} propInstances={} + Layer layer1 = createLayer( layer, Arrays.asList(view1, view2), Arrays.asList(property1)); + + // action + traces.clear(); + // remove a view + layer1.getViews().remove(view2); + + // assert + assertTrue("event sent", traces.size()>0); + TriggeredEvent event = traces.get(0); + assertSame("event sent", "viewRemovedFromLayer", event.name); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#viewRemovedFromLayer(org.eclipse.emf.common.notify.Notification)}. + * @throws LayersException + */ + @Test + public void testNViewRemovedFromLayer() throws LayersException { + // Create requested objects + LayersStackApplication application = LayersFactory.eINSTANCE.createLayersStackApplication(); + PropertyRegistry propertyRegistry = application.getPropertyRegistry(); + Diagram diagram = NotationFactory.eINSTANCE.createDiagram(); + + // Create stack + LayersStack stack = application.getLayersStackFor(diagram); + + // Create a TopLayer + TopLayerOperator layer = LayersFactory.eINSTANCE.createTopLayerOperator(); + layer.setApplication(application); + stack.setLayers(layer); + + // Create synchronizer + LayerStackSynchronizerSubclass synchronizer = new LayerStackSynchronizerSubclass(stack); + TriggeredEventTraces traces = synchronizer.traces; + + // Create Views + View view1 = NotationFactory.eINSTANCE.createShape(); + View view2 = NotationFactory.eINSTANCE.createShape(); + View view3 = NotationFactory.eINSTANCE.createShape(); + + List<View> viewsToAttach = Arrays.asList(view1, view2, view3); + List<View> viewsToRemove = Arrays.asList(view2, view3); + + + // Create Properties + int index = 0; + Property property1 = propertyRegistry.getProperties().get(index++); + + // Create layer1: views ={} propInstances={} + Layer layer1 = createLayer( layer, viewsToAttach, Arrays.asList(property1)); + + // action + traces.clear(); + // remove a view + layer1.getViews().removeAll(viewsToRemove); + + // assert + assertTrue("event sent", traces.size()>0); + TriggeredEvent event = traces.get(0); + assertSame("event sent", "multiViewsRemovedFromLayer", event.name); + // Check the collection + Notification notification = event.notifier; + assertNotNull("notification is set", notification); + + List<View> removedViews = LayersModelEventUtils.ViewEvents.getViewsRemoved(notification); + assertEquals( "both removed list have the same size", removedViews.size(), viewsToRemove.size()); + assertTrue( "notification contains removed views", removedViews.containsAll(viewsToRemove)); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#viewMovedBetweenLayer(org.eclipse.emf.common.notify.Notification)}. + */ + @Test + @Ignore + public void testViewMovedBetweenLayer() { + fail("Not yet implemented"); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#diagramViewAdded(org.eclipse.emf.common.notify.Notification)}. + */ + @Test + @Ignore + public void testDiagramViewAdded() { + fail("Not yet implemented"); + } + + /** + * Test method for {@link org.eclipse.papyrus.layers.runtime.LayerStackSynchronizer#diagramViewRemoved(org.eclipse.emf.common.notify.Notification)}. + */ + @Test + @Ignore + public void testDiagramViewRemoved() { + fail("Not yet implemented"); + } + + /** + * Create a layer with the specified view and property set + * + * @param asList + * @param asList2 + * @return + * @throws LayersException + */ + protected Layer createLayer(LayerOperator parent, List<View> views, List<Property> properties) throws LayersException { + + // Create the layer + Layer layer = LayersFactory.eINSTANCE.createLayer(); + // Set the application (needed ?) + layer.setApplication(parent.getApplication()); + // Attach it to its parent + parent.getLayers().add(layer); + + + // Add views + for( View view : views) { + layer.getViews().add(view); + } + + // Add property instances + for(Property property : properties) { + layer.addPropertyInstance(property); + } + return layer; + } + + /** + * Test method for {@link #createLayer(List, List)} + * @throws LayersException + */ + @Test + public void testCreateLayer() throws LayersException { + + // Create requested objects + TopLayerOperator layerParent = LayersFactory.eINSTANCE.createTopLayerOperator(); + LayersStackApplication application = LayersFactory.eINSTANCE.createLayersStackApplication(); + layerParent.setApplication(application); + PropertyRegistry propertyRegistry = application.getPropertyRegistry(); + + // Create Views + View view1 = NotationFactory.eINSTANCE.createShape(); + View view2 = NotationFactory.eINSTANCE.createShape(); + View view3 = NotationFactory.eINSTANCE.createShape(); + + // Create Properties + int index = 0; + Property property1 = propertyRegistry.getProperties().get(index++); + Property property2 = propertyRegistry.getProperties().get(index++); + Property property3 = propertyRegistry.getProperties().get(index++); + + // Create layer1: views ={} propInstances={} + Layer layer = createLayer( layerParent, Arrays.asList(view1, view2), Arrays.asList(property1, property2)); + + // Checks + assertNotNull("layer created", layer); + assertSame("views added", 2, layer.getViews().size()); + + assertSame("property instance added", 2, layer.getPropertyValueMap().values().size()); + assertSame("property instance is correctly set", layer.getPropertyValueMap().get(property1.getName()), layer.getPropertyInstance(property1)); + assertSame("property instance is correctly set", layer.getPropertyValueMap().get(property2.getName()), layer.getPropertyInstance(property2)); + } + +} |