Skip to content

Package: DeleteServiceAdapter_PTest

DeleteServiceAdapter_PTest

nameinstructionbranchcomplexitylinemethod
DeleteServiceAdapter_PTest()
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%
createModel()
M: 0 C: 16
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
test_canDelete_multiple()
M: 0 C: 40
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
test_canDelete_multiple2()
M: 0 C: 30
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 5
100%
M: 0 C: 1
100%
test_canDelete_null()
M: 0 C: 37
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 5
100%
M: 0 C: 1
100%
test_canDelete_single()
M: 0 C: 23
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
test_canDelete_single2()
M: 0 C: 18
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
test_deleteElement()
M: 0 C: 16
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
test_deleteElementse()
M: 0 C: 28
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 5
100%
M: 0 C: 1
100%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2019 Christian W. Damus 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: * Christian W. Damus - initial API and implementation
13: ******************************************************************************/
14: package org.eclipse.emf.ecp.edit.internal.swt.util;
15:
16: import static org.hamcrest.CoreMatchers.is;
17: import static org.hamcrest.MatcherAssert.assertThat;
18: import static org.mockito.Mockito.verify;
19:
20: import java.util.Arrays;
21: import java.util.Collection;
22:
23: import org.eclipse.emf.ecp.edit.spi.DeleteService;
24: import org.eclipse.emf.ecp.edit.spi.ConditionalDeleteService;
25: import org.eclipse.emf.emfstore.bowling.BowlingFactory;
26: import org.eclipse.emf.emfstore.bowling.League;
27: import org.eclipse.emf.emfstore.bowling.Player;
28: import org.junit.Before;
29: import org.junit.Test;
30: import org.junit.runner.RunWith;
31: import org.mockito.Mock;
32: import org.mockito.runners.MockitoJUnitRunner;
33:
34: /**
35: * Tests for the {@code DeleteServiceAdapter} class via the {@link ConditionalDeleteService} APIs that provide instances of it.
36: */
37: @SuppressWarnings("nls")
38: @RunWith(MockitoJUnitRunner.class)
39: public class DeleteServiceAdapter_PTest {
40:
41:         private League league;
42:         private Player player;
43:
44:         @Mock
45:         private DeleteService delegate;
46:
47:         @Mock
48:         private ConditionalDeleteService cdelegate;
49:
50:         /**
51:          * Test the null adapter (the adapter for an absent delete service).
52:          */
53:         @Test
54:         public void test_canDelete_null() {
55:                 final ConditionalDeleteService service = ConditionalDeleteService.adapt(null);
56:
57:                 final Collection<?> objects = Arrays.asList(player, league);
58:                 assertThat("can delete without delegate", service.canDelete(player), is(false));
59:                 assertThat("can delete without delegate", service.canDelete(objects), is(false));
60:         }
61:
62:         @Test
63:         public void test_canDelete_single() {
64:                 final ConditionalDeleteService service = ConditionalDeleteService.adapt(delegate);
65:
66:                 assertThat(service.canDelete(player), is(true));
67:                 assertThat(service.canDelete(league), is(false));
68:         }
69:
70:         @Test
71:         public void test_canDelete_multiple() {
72:                 final ConditionalDeleteService service = ConditionalDeleteService.adapt(delegate);
73:
74:                 assertThat(service.canDelete(Arrays.asList(player)), is(true));
75:                 assertThat(service.canDelete(Arrays.asList(player, league)), is(false));
76:         }
77:
78:         @Test
79:         public void test_canDelete_single2() {
80:                 final ConditionalDeleteService service = ConditionalDeleteService.adapt(cdelegate);
81:
82:                 service.canDelete(player);
83:
84:                 verify(cdelegate).canDelete(player);
85:         }
86:
87:         @Test
88:         public void test_canDelete_multiple2() {
89:                 final ConditionalDeleteService service = ConditionalDeleteService.adapt(cdelegate);
90:
91:                 final Collection<?> objects = Arrays.asList(player, league);
92:                 service.canDelete(objects);
93:
94:                 verify(cdelegate).canDelete(objects);
95:         }
96:
97:         @Test
98:         public void test_deleteElement() {
99:                 final ConditionalDeleteService service = ConditionalDeleteService.adapt(delegate);
100:
101:                 service.deleteElement(player);
102:
103:                 verify(delegate).deleteElement(player);
104:         }
105:
106:         @Test
107:         public void test_deleteElementse() {
108:                 final ConditionalDeleteService service = ConditionalDeleteService.adapt(delegate);
109:
110:                 final Collection<Object> objects = Arrays.asList(player, league);
111:                 service.deleteElements(objects);
112:
113:                 verify(delegate).deleteElements(objects);
114:         }
115:
116:         //
117:         // Test framework
118:         //
119:
120:         @Before
121:         public void createModel() {
122:                 league = BowlingFactory.eINSTANCE.createLeague();
123:                 player = BowlingFactory.eINSTANCE.createPlayer();
124:
125:                 league.getPlayers().add(player);
126:         }
127:
128: }