Skip to content

Package: TreeMasterDetailContextMenuViewModelService_PTest

TreeMasterDetailContextMenuViewModelService_PTest

nameinstructionbranchcomplexitylinemethod
TreeMasterDetailContextMenuViewModelService_PTest()
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
createDomainObject()
M: 0 C: 29
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testTreeMasterDetailNoContextMenuService()
M: 7 C: 29
81%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 3 C: 6
67%
M: 0 C: 1
100%
testTreeMasterDetailWithContextMenuService()
M: 7 C: 41
85%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 3 C: 7
70%
M: 0 C: 1
100%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2019 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: * EclipseSource Munich - initial API and implementation
13: * Christian W. Damus - bug 548592
14: ******************************************************************************/
15: package org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test;
16:
17: import static org.junit.Assert.assertFalse;
18: import static org.junit.Assert.assertTrue;
19:
20: import java.util.concurrent.CountDownLatch;
21: import java.util.concurrent.TimeUnit;
22:
23: import org.eclipse.emf.ecp.test.common.DefaultRealm;
24: import org.eclipse.emf.ecp.ui.view.ECPRendererException;
25: import org.eclipse.emf.ecp.ui.view.swt.ECPSWTViewRenderer;
26: import org.eclipse.emf.ecp.view.internal.context.ViewModelContextImpl;
27: import org.eclipse.emf.ecp.view.internal.swt.ContextMenuViewModelService;
28: import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
29: import org.eclipse.emf.ecp.view.spi.model.VView;
30: import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
31: import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper;
32: import org.eclipse.emf.ecp.view.treemasterdetail.model.VTreeMasterDetail;
33: import org.eclipse.emf.ecp.view.treemasterdetail.model.VTreeMasterDetailFactory;
34: import org.eclipse.emf.emfstore.bowling.BowlingFactory;
35: import org.eclipse.emf.emfstore.bowling.Player;
36: import org.eclipse.swt.widgets.Shell;
37: import org.junit.Before;
38: import org.junit.Rule;
39: import org.junit.Test;
40: import org.junit.rules.TestRule;
41:
42: /**
43: * @author Alexandra Buzila
44: *
45: */
46: @SuppressWarnings({ "restriction", "deprecation" })
47: public class TreeMasterDetailContextMenuViewModelService_PTest {
48:
49:         private VView view;
50:         private Shell shell;
51:         private VView detailView;
52:         private Player player;
53:         private CountDownLatch latch;
54:
55:         @Rule
56:         public final TestRule realm = DefaultRealm.rule();
57:
58:         @Before
59:         public void createDomainObject() {
60:                 player = BowlingFactory.eINSTANCE.createPlayer();
61:                 shell = SWTViewTestHelper.createShell();
62:                 view = VViewFactory.eINSTANCE.createView();
63:                 detailView = VViewFactory.eINSTANCE.createView();
64:                 final VTreeMasterDetail treeMasterDetail = VTreeMasterDetailFactory.eINSTANCE.createTreeMasterDetail();
65:                 treeMasterDetail.setDetailView(detailView);
66:                 view.getChildren().add(treeMasterDetail);
67:         }
68:
69:         @Test
70:         public void testTreeMasterDetailNoContextMenuService() {
71:                 try {
72:                         latch = new CountDownLatch(1);
73:                         final ViewModelContextImpl viewContext = new ViewModelContextImpl(view, player);
74:                         ECPSWTViewRenderer.INSTANCE.render(shell, viewContext);
75:                         assertFalse("registerContextMenu was called", latch.await(1, TimeUnit.SECONDS)); //$NON-NLS-1$
76:                 } catch (final ECPRendererException e) {
77:                         e.printStackTrace();
78:                 } catch (final InterruptedException e) {
79:                         e.printStackTrace();
80:                 }
81:         }
82:
83:         @Test
84:         public void testTreeMasterDetailWithContextMenuService() {
85:                 try {
86:                         latch = new CountDownLatch(1);
87:                         final TestContextMenuViewModelService service = new TestContextMenuViewModelService();
88:                         final ViewModelContextImpl viewContext = new ViewModelContextImpl(view, player, service);
89:                         ECPSWTViewRenderer.INSTANCE.render(shell, viewContext);
90:                         assertTrue("Context menu was not registered", latch.await(5, TimeUnit.SECONDS)); //$NON-NLS-1$
91:                 } catch (final ECPRendererException e) {
92:                         e.printStackTrace();
93:                 } catch (final InterruptedException e) {
94:                         e.printStackTrace();
95:                 }
96:         }
97:
98:         private class TestContextMenuViewModelService extends ContextMenuViewModelService {
99:
100:                 @Override
101:                 public void instantiate(ViewModelContext context) {
102:                         // TODO Auto-generated method stub
103:
104:                 }
105:
106:                 @Override
107:                 public void dispose() {
108:                         // TODO Auto-generated method stub
109:
110:                 }
111:
112:                 @Override
113:                 public int getPriority() {
114:                         // TODO Auto-generated method stub
115:                         return 0;
116:                 }
117:
118:                 @Override
119:                 public boolean registerContextMenu() {
120:                         latch.countDown();
121:                         return true;
122:                 }
123:
124:         }
125: }