Skip to content

Package: IterateConditionDmrOpenInNewContextStrategyProvider_Test

IterateConditionDmrOpenInNewContextStrategyProvider_Test

nameinstructionbranchcomplexitylinemethod
IterateConditionDmrOpenInNewContextStrategyProvider_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%
getSelectionValidator_multiAttribute()
M: 0 C: 12
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 5
100%
M: 0 C: 1
100%
getSelectionValidator_multiReference()
M: 0 C: 9
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
getSelectionValidator_singleReference()
M: 0 C: 12
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 5
100%
M: 0 C: 1
100%
handles_generationDisabled()
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%
handles_generationEnabled_incorrectBoth()
M: 0 C: 12
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 5
100%
M: 0 C: 1
100%
handles_generationEnabled_incorrectParent()
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%
handles_generationEnabled_incorrectReference()
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%
handles_generationEnabled_true()
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: 12
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
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: * Lucas Koehler - initial API and implementation
13: ******************************************************************************/
14: package org.eclipse.emf.ecp.view.internal.editor.handler;
15:
16: import static org.junit.Assert.assertFalse;
17: import static org.junit.Assert.assertNotNull;
18: import static org.junit.Assert.assertNull;
19: import static org.junit.Assert.assertTrue;
20:
21: import org.eclipse.emf.ecore.EcorePackage;
22: import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
23: import org.eclipse.emf.ecp.view.spi.rule.model.IterateCondition;
24: import org.eclipse.emf.ecp.view.spi.rule.model.RuleFactory;
25: import org.eclipse.emf.ecp.view.spi.rule.model.RulePackage;
26: import org.junit.Before;
27: import org.junit.Test;
28:
29: /**
30: * Unit tests for {@link IterateConditionDmrOpenInNewContextStrategyProvider}.
31: *
32: * @author Lucas Koehler
33: */
34: public class IterateConditionDmrOpenInNewContextStrategyProvider_Test {
35:
36:         private IterateCondition iterateCondition;
37:         private EditIterateConditionDmrTestProvider strategyProvider;
38:
39:         @Before
40:         public void setUp() {
41:                 iterateCondition = RuleFactory.eINSTANCE.createIterateCondition();
42:                 strategyProvider = new EditIterateConditionDmrTestProvider();
43:         }
44:
45:         @Test
46:         public void handles_generationEnabled_true() {
47:                 strategyProvider.setSegmentToolingEnabled(true);
48:                 assertTrue(
49:                         strategyProvider.handles(iterateCondition, RulePackage.Literals.ITERATE_CONDITION__ITEM_REFERENCE));
50:         }
51:
52:         @Test
53:         public void handles_generationEnabled_incorrectReference() {
54:                 strategyProvider.setSegmentToolingEnabled(true);
55:                 assertFalse(
56:                         strategyProvider.handles(iterateCondition, RulePackage.Literals.LEAF_CONDITION__DOMAIN_MODEL_REFERENCE));
57:         }
58:
59:         @Test
60:         public void handles_generationEnabled_incorrectParent() {
61:                 strategyProvider.setSegmentToolingEnabled(true);
62:                 assertFalse(strategyProvider.handles(VViewFactory.eINSTANCE.createControl(),
63:                         RulePackage.Literals.ITERATE_CONDITION__ITEM_REFERENCE));
64:         }
65:
66:         @Test
67:         public void handles_generationEnabled_incorrectBoth() {
68:                 strategyProvider.setSegmentToolingEnabled(true);
69:                 assertFalse(
70:                         strategyProvider.handles(VViewFactory.eINSTANCE.createControl(),
71:                                 EcorePackage.Literals.ECLASS__ESTRUCTURAL_FEATURES));
72:         }
73:
74:         @Test
75:         public void handles_generationDisabled() {
76:                 strategyProvider.setSegmentToolingEnabled(false);
77:                 assertFalse(
78:                         strategyProvider.handles(iterateCondition, RulePackage.Literals.ITERATE_CONDITION__ITEM_REFERENCE));
79:         }
80:
81:         @Test
82:         public void getSelectionValidator_singleReference() {
83:                 final String result = strategyProvider.getSelectionValidator()
84:                         .isValid(EcorePackage.Literals.EATTRIBUTE__EATTRIBUTE_TYPE);
85:                 assertNotNull(result);
86:                 assertFalse(result.isEmpty());
87:         }
88:
89:         @Test
90:         public void getSelectionValidator_multiReference() {
91:                 final String result = strategyProvider.getSelectionValidator()
92:                         .isValid(EcorePackage.Literals.EPACKAGE__ECLASSIFIERS);
93:                 assertNull(result);
94:         }
95:
96:         @Test
97:         public void getSelectionValidator_multiAttribute() {
98:                 final String result = strategyProvider.getSelectionValidator()
99:                         .isValid(EcorePackage.Literals.EANNOTATION__SOURCE);
100:                 assertNotNull(result);
101:                 assertFalse(result.isEmpty());
102:         }
103:
104:         /** Allows to mock the segment tooling enabled flag without the need to provide a runtime parameter. */
105:         private class EditIterateConditionDmrTestProvider extends IterateConditionDmrOpenInNewContextStrategyProvider {
106:                 private boolean segmentToolingEnabled;
107:
108:                 /**
109:                  * @param segmentToolingEnabled true to enable segment mode
110:                  */
111:                 public void setSegmentToolingEnabled(boolean segmentToolingEnabled) {
112:                         this.segmentToolingEnabled = segmentToolingEnabled;
113:                 }
114:
115:                 @Override
116:                 protected boolean isSegmentToolingEnabled() {
117:                         return segmentToolingEnabled;
118:                 }
119:         }
120: }