Skip to content

Package: EMFFormsSpreadsheetRendererFactoryImpl_Test

EMFFormsSpreadsheetRendererFactoryImpl_Test

nameinstructionbranchcomplexitylinemethod
EMFFormsSpreadsheetRendererFactoryImpl_Test()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
testAddEMFFormsSpreadsheetRendererService()
M: 0 C: 40
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 11
100%
M: 0 C: 1
100%
testGetRendererInstanceNoFittingServicesNullContext()
M: 8 C: 4
33%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 1
33%
M: 0 C: 1
100%
testGetRendererInstanceNoFittingServicesNullElement()
M: 8 C: 4
33%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 1
33%
M: 0 C: 1
100%
testGetRendererInstanceNoFittingServicesNullParameters()
M: 6 C: 4
40%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 1
33%
M: 0 C: 1
100%
testRemoveEMFFormsSpreadsheetRendererService()
M: 8 C: 26
76%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 6
75%
M: 0 C: 1
100%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
3: *
4: * All rights reserved. This program and the accompanying materials
5: * are made available under the terms of the Eclipse Public License 2.0
6: * which accompanies this distribution, and is available at
7: * https://www.eclipse.org/legal/epl-2.0/
8: *
9: * SPDX-License-Identifier: EPL-2.0
10: *
11: * Contributors:
12: * Eugen Neufeld - initial API and implementation
13: ******************************************************************************/
14: package org.eclipse.emfforms.internal.spreadsheet.core;
15:
16: import static org.junit.Assert.assertSame;
17: import static org.mockito.Mockito.mock;
18: import static org.mockito.Mockito.when;
19:
20: import org.eclipse.emf.ecore.EClass;
21: import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
22: import org.eclipse.emf.ecp.view.spi.model.VElement;
23: import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
24: import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsNoRendererException;
25: import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService;
26: import org.junit.Test;
27:
28: /**
29: * Test for {@link EMFFormsSpreadsheetRendererFactoryImpl}.
30: *
31: * @author Eugen Neufeld
32: *
33: */
34: public class EMFFormsSpreadsheetRendererFactoryImpl_Test {
35:
36:         /**
37:          * Test method for
38:          * {@link org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsSpreadsheetRendererFactoryImpl#addEMFFormsSpreadsheetRendererService(org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService)}
39:          * .
40:          *
41:          * @throws EMFFormsNoRendererException
42:          */
43:         @SuppressWarnings({ "rawtypes", "unchecked" })
44:         @Test
45:         public void testAddEMFFormsSpreadsheetRendererService() throws EMFFormsNoRendererException {
46:                 final EMFFormsSpreadsheetRendererFactoryImpl factory = new EMFFormsSpreadsheetRendererFactoryImpl();
47:                 final EMFFormsSpreadsheetRendererService service = mock(EMFFormsSpreadsheetRendererService.class);
48:                 final VElement vElement = mock(VElement.class);
49:                 final ViewModelContext viewModelContext = mock(ViewModelContext.class);
50:                 final EMFFormsAbstractSpreadsheetRenderer renderer = mock(EMFFormsAbstractSpreadsheetRenderer.class);
51:                 when(service.getRendererInstance(vElement, viewModelContext)).thenReturn(renderer);
52:                 factory.addEMFFormsSpreadsheetRendererService(service);
53:                 final EMFFormsAbstractSpreadsheetRenderer<VElement> rendererInstance = factory.getRendererInstance(vElement,
54:                         viewModelContext);
55:                 assertSame(renderer, rendererInstance);
56:         }
57:
58:         /**
59:          * Test method for
60:          * {@link org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsSpreadsheetRendererFactoryImpl#removeEMFFormsSpreadsheetRendererService(org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService)}
61:          * .
62:          *
63:          * @throws EMFFormsNoRendererException
64:          */
65:         @SuppressWarnings({ "rawtypes", "unchecked" })
66:         @Test(expected = EMFFormsNoRendererException.class)
67:         public void testRemoveEMFFormsSpreadsheetRendererService() throws EMFFormsNoRendererException {
68:                 final EMFFormsSpreadsheetRendererFactoryImpl factory = new EMFFormsSpreadsheetRendererFactoryImpl();
69:                 final EMFFormsSpreadsheetRendererService service = mock(EMFFormsSpreadsheetRendererService.class);
70:                 factory.addEMFFormsSpreadsheetRendererService(service);
71:                 factory.removeEMFFormsSpreadsheetRendererService(service);
72:                 final VElement vElement = mock(VElement.class);
73:                 when(vElement.eClass()).thenReturn(mock(EClass.class));
74:                 factory.getRendererInstance(vElement, mock(ViewModelContext.class));
75:         }
76:
77:         /**
78:          * Test method for
79:          * {@link org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsSpreadsheetRendererFactoryImpl#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
80:          * .
81:          *
82:          * @throws EMFFormsNoRendererException
83:          */
84:         @Test(expected = IllegalArgumentException.class)
85:         public void testGetRendererInstanceNoFittingServicesNullParameters() throws EMFFormsNoRendererException {
86:                 final EMFFormsSpreadsheetRendererFactoryImpl factory = new EMFFormsSpreadsheetRendererFactoryImpl();
87:                 factory.getRendererInstance(null, null);
88:         }
89:
90:         /**
91:          * Test method for
92:          * {@link org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsSpreadsheetRendererFactoryImpl#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
93:          * .
94:          *
95:          * @throws EMFFormsNoRendererException
96:          */
97:         @Test(expected = IllegalArgumentException.class)
98:         public void testGetRendererInstanceNoFittingServicesNullContext() throws EMFFormsNoRendererException {
99:                 final EMFFormsSpreadsheetRendererFactoryImpl factory = new EMFFormsSpreadsheetRendererFactoryImpl();
100:                 factory.getRendererInstance(mock(VElement.class), null);
101:         }
102:
103:         /**
104:          * Test method for
105:          * {@link org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsSpreadsheetRendererFactoryImpl#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
106:          * .
107:          *
108:          * @throws EMFFormsNoRendererException
109:          */
110:         @Test(expected = IllegalArgumentException.class)
111:         public void testGetRendererInstanceNoFittingServicesNullElement() throws EMFFormsNoRendererException {
112:                 final EMFFormsSpreadsheetRendererFactoryImpl factory = new EMFFormsSpreadsheetRendererFactoryImpl();
113:                 factory.getRendererInstance(null, mock(ViewModelContext.class));
114:         }
115: }