blob: 9fedb0d73cb1b7035a2cda2544e2eb589e306065 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2014 Obeo.
* 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:
* Obeo - initial API and implementation
*******************************************************************************/
package org.eclipse.emf.compare.uml2.tests.edit.provider;
import java.io.IOException;
import java.util.HashMap;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.compare.uml2.internal.provider.decorator.UMLProfileItemProviderAdapterFactoryDecorator;
import org.eclipse.emf.compare.uml2.tests.AbstractDynamicProfileTest;
import org.eclipse.emf.compare.uml2.tests.AbstractUMLInputData;
import org.eclipse.emf.compare.uml2.tests.edit.provider.data.ModelInputData;
import org.eclipse.emf.ecore.resource.Resource;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
/**
* Tests the {@link UMLProfileItemProviderAdapterFactoryDecorator} on a model with a dynamic profile.
*
* @author <a href="mailto:arthur.daussy@obeo.fr">Arthur Daussy</a>
*/
public class DynamicStereotypedElementItemProviderTest extends AbstractDynamicProfileTest {
private ModelInputData inputData = new ModelInputData();
@BeforeClass
public static void setupClass() {
initEPackageNsURIToProfileLocationMap();
}
@AfterClass
public static void teardownClass() {
resetEPackageNsURIToProfileLocationMap();
}
@Override
protected AbstractUMLInputData getInput() {
return inputData;
}
@Test
public void testIconsAndLabelsDynamicProfile() throws IOException {
AdapterFactory stereotypedElementItemProviderDecorator = new UMLProfileItemProviderAdapterFactoryDecorator();
// Map<Ordered list of applied stereotyped, Expected icon>
HashMap<String, String> expectedStaticIcons = new HashMap<String, String>();
expectedStaticIcons.put("ACliche", "eclipse_luna.gif"); //$NON-NLS-1$ //$NON-NLS-2$
expectedStaticIcons.put("ACliche,ACliche2", "eclipse_luna.gif"); //$NON-NLS-1$//$NON-NLS-2$
expectedStaticIcons.put("ACliche2,ACliche", "eclipse_luna.gif"); //$NON-NLS-1$//$NON-NLS-2$
// ACliche2 and ACliche3 do not have any icon defined in the profile so the base element icon should
// be used instead
expectedStaticIcons.put("ACliche2", "Class.gif"); //$NON-NLS-1$ //$NON-NLS-2$
expectedStaticIcons.put("ACliche3", "Class.gif"); //$NON-NLS-1$ //$NON-NLS-2$
Resource resource = inputData.getDynamicProfileModelmodel();
StereotypedElementItemProviderTestUtil.checkIconAndLabel(stereotypedElementItemProviderDecorator,
expectedStaticIcons, resource);
}
}