blob: 3f676c7d6f79ff3398b5ffde0b4c9c05dddb794d [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.configmodel.layersconfig.impl;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import org.eclipse.papyrus.layers.configmodel.layersconfig.ClassnameKind;
import org.eclipse.papyrus.layers.configmodel.layersconfig.LayersconfigFactory;
import org.eclipse.papyrus.layers.configmodel.layersconfig.OperatorConfig;
import org.eclipse.papyrus.layers.stackmodel.InstanciationException;
import org.eclipse.papyrus.layers.stackmodel.layers.CustomPropertyOperator;
import org.eclipse.papyrus.layers.stackmodel.layers.DefaultPropertyOperator;
import org.eclipse.papyrus.layers.stackmodel.layers.LayersPackage;
import org.eclipse.papyrus.layers.stackmodel.layers.PropertyOperator;
import org.eclipse.papyrus.layers.stackmodel.operators.BooleanAndOperator;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
/**
* @author cedric dumoulin
*
*/
public class OperatorConfigImplTest {
protected String BUNDLE_ID = "org.eclipse.papyrus.layers.stackmodel";
/**
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
}
/**
* @throws java.lang.Exception
*/
@After
public void tearDown() throws Exception {
}
/**
* Test method for {@link org.eclipse.papyrus.layers.configmodel.layersconfig.impl.OperatorConfigImpl#OperatorConfigImpl()}.
*/
@Test
public void testOperatorConfigImpl() {
// Create new object
OperatorConfig opConfig = LayersconfigFactory.eINSTANCE.createOperatorConfig();
assertNotNull("instance created", opConfig);
}
/**
* Test method for {@link org.eclipse.papyrus.layers.configmodel.layersconfig.impl.OperatorConfigImpl#createOperatorDescriptor()}.
*/
// @Test
// public void testCreateOperatorDescriptor() {
// // Create new object
// OperatorConfig opConfig = LayersconfigFactory.eINSTANCE.createOperatorConfig();
//
// assertNotNull("instance created", opConfig);
// }
/**
* Test method for {@link org.eclipse.papyrus.layers.configmodel.layersconfig.impl.OperatorConfigImpl#createPojoInstance()}.
*
* @throws InstanciationException
*/
@Test
public void testCreatePojoInstance() throws InstanciationException {
// Create new object
OperatorConfig opConfig = LayersconfigFactory.eINSTANCE.createOperatorConfig();
opConfig.setClassname(BooleanAndOperator.class.getName());
opConfig.setBundleID(BUNDLE_ID);
PropertyOperator operator = opConfig.createOperatorDescriptor();
assertNotNull("operator created", operator);
assertTrue("operator type", operator instanceof CustomPropertyOperator);
assertNotNull("operator nested instance created", ((CustomPropertyOperator) operator).getOperatorInstance());
assertSame("classnameKind is changed", ClassnameKind.POJO_CLASSNAME, opConfig.getClassnameKind());
// Try a second time
operator = opConfig.createOperatorDescriptor();
assertNotNull("operator created", operator);
assertTrue("operator type", operator instanceof CustomPropertyOperator);
assertNotNull("operator nested instance created", ((CustomPropertyOperator) operator).getOperatorInstance());
}
/**
* Test method for {@link org.eclipse.papyrus.layers.configmodel.layersconfig.impl.OperatorConfigImpl#createEmfInstance()}.
*
* @throws InstanciationException
*/
@Test
public void testCreateEmfInstance() throws InstanciationException {
// Create new object
OperatorConfig opConfig = LayersconfigFactory.eINSTANCE.createOperatorConfig();
opConfig.setClassname(LayersPackage.eINSTANCE.getDefaultPropertyOperator().getName());
PropertyOperator operator = opConfig.createOperatorDescriptor();
assertNotNull("operator created", operator);
assertTrue("operator type", operator instanceof DefaultPropertyOperator);
assertSame("classnameKind is changed", ClassnameKind.EMF_CLASSNAME, opConfig.getClassnameKind());
// Try a second time
operator = opConfig.createOperatorDescriptor();
assertNotNull("operator created", operator);
assertTrue("operator type", operator instanceof DefaultPropertyOperator);
}
}