Skip to content

Package: ExpectedValueControlRenderer_Test

ExpectedValueControlRenderer_Test

nameinstructionbranchcomplexitylinemethod
ExpectedValueControlRenderer_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%
getSelectedObject_nullAttribute()
M: 0 C: 22
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 5
100%
M: 0 C: 1
100%
getSelectedObject_primitiveAttribute()
M: 0 C: 12
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
setUp()
M: 0 C: 49
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 10
100%
M: 0 C: 1
100%
tearDown()
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2018 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: * Lucas Koehler - initial API and implementation
13: ******************************************************************************/
14: package org.eclipse.emf.ecp.view.internal.editor.controls;
15:
16: import static org.junit.Assert.assertEquals;
17: import static org.junit.Assert.assertNull;
18: import static org.junit.Assert.assertTrue;
19: import static org.mockito.Matchers.any;
20: import static org.mockito.Matchers.eq;
21: import static org.mockito.Mockito.mock;
22: import static org.mockito.Mockito.spy;
23: import static org.mockito.Mockito.verify;
24:
25: import org.eclipse.emf.ecore.EcorePackage;
26: import org.eclipse.emf.ecp.test.common.DefaultRealm;
27: import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
28: import org.eclipse.emf.ecp.view.spi.model.VControl;
29: import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
30: import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
31: import org.eclipse.emfforms.spi.common.report.ReportService;
32: import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
33: import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
34: import org.eclipse.swt.widgets.Label;
35: import org.eclipse.swt.widgets.Shell;
36: import org.junit.After;
37: import org.junit.Before;
38: import org.junit.Test;
39:
40: /**
41: * Unit tests for {@link ExpectedValueControlRenderer}.
42: *
43: * @author Lucas Koehler
44: *
45: */
46: public class ExpectedValueControlRenderer_Test {
47:         private static final String TEST_STRING = "TestString";
48:
49:         private TestExpectedValueControlRenderer renderer;
50:         private VControl vControl;
51:         private ReportService reportService;
52:         private ViewModelContext viewContext;
53:         private DefaultRealm realm;
54:
55:         /**
56:          * @throws java.lang.Exception
57:          */
58:         @Before
59:         public void setUp() throws Exception {
60:                 realm = new DefaultRealm();
61:                 reportService = mock(ReportService.class);
62:                 vControl = VViewFactory.eINSTANCE.createControl();
63:                 viewContext = mock(ViewModelContext.class);
64:                 final EMFFormsDatabinding databinding = mock(EMFFormsDatabinding.class);
65:                 final EMFFormsLabelProvider labelProvider = mock(EMFFormsLabelProvider.class);
66:                 final VTViewTemplateProvider templateProvider = mock(VTViewTemplateProvider.class);
67:                 renderer = spy(new TestExpectedValueControlRenderer(vControl, viewContext, reportService, databinding,
68:                         labelProvider, templateProvider));
69:         }
70:
71:         @After
72:         public void tearDown() {
73:                 realm.dispose();
74:         }
75:
76:         @Test
77:         public void getSelectedObject_nullAttribute() {
78:                 final Object selectedObject = renderer.getSelectedObject(null);
79:
80:                 assertNull(selectedObject);
81:                 verify(renderer).showError(any(Shell.class), eq("Missing Attribute"),
82:                         eq("Please select an attribute before attempting to select its value."));
83:         }
84:
85:         @Test
86:         public void getSelectedObject_primitiveAttribute() {
87:                 final Object object = renderer.getSelectedObject(EcorePackage.Literals.ENAMED_ELEMENT__NAME);
88:
89:                 assertTrue(object instanceof String);
90:                 assertEquals(TEST_STRING, object);
91:         }
92:
93:         public class TestExpectedValueControlRenderer extends ExpectedValueControlRenderer {
94:
95:                 TestExpectedValueControlRenderer(VControl vElement, ViewModelContext viewContext,
96:                         ReportService reportService, EMFFormsDatabinding databindingService, EMFFormsLabelProvider labelProvider,
97:                         VTViewTemplateProvider viewTemplateProvider) {
98:                         super(vElement, viewContext, reportService, databindingService, labelProvider, viewTemplateProvider);
99:                 }
100:
101:                 @Override
102:                 protected void onSelectButton(Label text) {
103:                         // Do nothing
104:                 }
105:
106:                 @Override
107:                 protected void showError(Shell shell, String title, String description) {
108:                         // Do nothing
109:                 }
110:
111:                 @Override
112:                 Object promptForValue(Shell shell, Object object, Class<?> attributeClazz) {
113:                         return TEST_STRING;
114:                 }
115:         }
116: }