Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 3f676c7d6f79ff3398b5ffde0b4c9c05dddb794d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/*******************************************************************************
 * 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);
	}

}

Back to the top