1 /*******************************************************************************
2 * Copyright (c) 2015, 2017 Obeo and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
9 * Obeo - initial API and implementation
10 * Stefan Dirix - bug 475401
11 * Martin Fleck - bug 512562
12 *******************************************************************************/
13 package org
.eclipse
.emf
.compare
.ide
.ui
.tests
.contentmergeviewer
.notloadedfragment
;
15 import static org
.junit
.Assert
.assertEquals
;
16 import static org
.junit
.Assert
.assertNull
;
17 import static org
.junit
.Assert
.assertTrue
;
19 import com
.google
.common
.base
.Predicate
;
20 import com
.google
.common
.collect
.Iterators
;
21 import com
.google
.common
.collect
.Lists
;
22 import com
.google
.common
.eventbus
.EventBus
;
25 import java
.io
.IOException
;
27 import java
.util
.Collection
;
28 import java
.util
.List
;
30 import org
.eclipse
.compare
.ITypedElement
;
31 import org
.eclipse
.core
.resources
.IFile
;
32 import org
.eclipse
.core
.resources
.IProject
;
33 import org
.eclipse
.core
.resources
.IProjectDescription
;
34 import org
.eclipse
.core
.resources
.IStorage
;
35 import org
.eclipse
.core
.resources
.ResourcesPlugin
;
36 import org
.eclipse
.core
.runtime
.CoreException
;
37 import org
.eclipse
.core
.runtime
.FileLocator
;
38 import org
.eclipse
.core
.runtime
.NullProgressMonitor
;
39 import org
.eclipse
.core
.runtime
.Path
;
40 import org
.eclipse
.core
.runtime
.Platform
;
41 import org
.eclipse
.emf
.common
.notify
.AdapterFactory
;
42 import org
.eclipse
.emf
.compare
.Comparison
;
43 import org
.eclipse
.emf
.compare
.Diff
;
44 import org
.eclipse
.emf
.compare
.EMFCompare
;
45 import org
.eclipse
.emf
.compare
.Match
;
46 import org
.eclipse
.emf
.compare
.ide
.ui
.internal
.EMFCompareIDEUIPlugin
;
47 import org
.eclipse
.emf
.compare
.ide
.ui
.internal
.logical
.ComparisonScopeBuilder
;
48 import org
.eclipse
.emf
.compare
.ide
.ui
.internal
.logical
.StorageTypedElement
;
49 import org
.eclipse
.emf
.compare
.ide
.ui
.internal
.logical
.StreamAccessorStorage
;
50 import org
.eclipse
.emf
.compare
.ide
.ui
.internal
.logical
.resolver
.ThreadedModelResolver
;
51 import org
.eclipse
.emf
.compare
.ide
.ui
.internal
.util
.PlatformElementUtil
;
52 import org
.eclipse
.emf
.compare
.ide
.ui
.logical
.IModelResolver
;
53 import org
.eclipse
.emf
.compare
.provider
.spec
.CompareItemProviderAdapterFactorySpec
;
54 import org
.eclipse
.emf
.compare
.rcp
.ui
.internal
.mergeviewer
.item
.impl
.MergeViewerItem
;
55 import org
.eclipse
.emf
.compare
.rcp
.ui
.internal
.structuremergeviewer
.filters
.StructureMergeViewerFilter
;
56 import org
.eclipse
.emf
.compare
.rcp
.ui
.internal
.structuremergeviewer
.groups
.provider
.TreeItemProviderAdapterFactorySpec
;
57 import org
.eclipse
.emf
.compare
.rcp
.ui
.internal
.util
.MergeViewerUtil
;
58 import org
.eclipse
.emf
.compare
.rcp
.ui
.mergeviewer
.IMergeViewer
.MergeViewerSide
;
59 import org
.eclipse
.emf
.compare
.rcp
.ui
.mergeviewer
.item
.IMergeViewerItem
;
60 import org
.eclipse
.emf
.compare
.scope
.IComparisonScope
;
61 import org
.eclipse
.emf
.compare
.utils
.EMFComparePredicates
;
62 import org
.eclipse
.emf
.ecore
.EObject
;
63 import org
.eclipse
.emf
.ecore
.provider
.EcoreItemProviderAdapterFactory
;
64 import org
.eclipse
.emf
.edit
.provider
.AdapterFactoryItemDelegator
;
65 import org
.eclipse
.emf
.edit
.provider
.ComposedAdapterFactory
;
66 import org
.eclipse
.emf
.edit
.provider
.ReflectiveItemProviderAdapterFactory
;
67 import org
.junit
.Before
;
68 import org
.junit
.Test
;
69 import org
.osgi
.framework
.Bundle
;
71 @SuppressWarnings({"restriction", "nls" })
72 public class NotLoadedFragmentItemTest
{
74 private static final String ELLIPSIS
= "[ ... ]";
76 private static AdapterFactoryItemDelegator itemDelegator
;
78 private static String SEP
= File
.separator
;
80 private EventBus eventBus
;
84 final Collection
<AdapterFactory
> factories
= Lists
.newArrayList();
85 factories
.add(new CompareItemProviderAdapterFactorySpec());
86 eventBus
= new EventBus();
87 factories
.add(new TreeItemProviderAdapterFactorySpec(new StructureMergeViewerFilter(eventBus
)));
88 factories
.add(new EcoreItemProviderAdapterFactory());
89 factories
.add(new ReflectiveItemProviderAdapterFactory());
91 final AdapterFactory composedAdapterFactory
= new ComposedAdapterFactory(factories
);
92 itemDelegator
= new AdapterFactoryItemDelegator(composedAdapterFactory
);
95 private Comparison
initComparison(String projectName
) throws IOException
, CoreException
{
96 Bundle bundle
= Platform
.getBundle("org.eclipse.emf.compare.ide.ui.tests");
97 URL entry
= bundle
.getEntry("src" + SEP
+ "org" + SEP
+ "eclipse" + SEP
+ "emf" + SEP
+ "compare"
98 + SEP
+ "ide" + SEP
+ "ui" + SEP
+ "tests" + SEP
+ "structuremergeviewer" + SEP
99 + "notloadedfragment" + SEP
+ "data" + SEP
+ projectName
+ SEP
+ ".project");
100 URL fileURL
= FileLocator
.toFileURL(entry
);
101 IProjectDescription description
= ResourcesPlugin
.getWorkspace()
102 .loadProjectDescription(new Path(fileURL
.getPath()));
103 IProject project
= ResourcesPlugin
.getWorkspace().getRoot().getProject(description
.getName());
104 if (!project
.exists()) {
105 project
.create(description
, new NullProgressMonitor());
106 project
.open(new NullProgressMonitor());
109 final IFile leftFile
= project
.getFile(new Path("left" + SEP
+ "R1.ecore"));
110 final IFile rightFile
= project
.getFile(new Path("right" + SEP
+ "R1.ecore"));
111 final ITypedElement left
= new StorageTypedElement(leftFile
, leftFile
.getFullPath().toOSString());
112 final ITypedElement right
= new StorageTypedElement(rightFile
, rightFile
.getFullPath().toOSString());
114 IStorage leftStorage
= PlatformElementUtil
.findFile(left
);
115 if (leftStorage
== null) {
116 leftStorage
= StreamAccessorStorage
.fromTypedElement(left
);
118 final IModelResolver resolver
= EMFCompareIDEUIPlugin
.getDefault().getModelResolverRegistry()
119 .getBestResolverFor(leftStorage
);
121 assertTrue(resolver
instanceof ThreadedModelResolver
);
123 final ComparisonScopeBuilder scopeBuilder
= new ComparisonScopeBuilder(resolver
,
124 EMFCompareIDEUIPlugin
.getDefault().getModelMinimizerRegistry().getCompoundMinimizer(), null);
125 final IComparisonScope scope
= scopeBuilder
.build(left
, right
, null, new NullProgressMonitor());
126 final Comparison comparison
= EMFCompare
.builder().build().compare(scope
);
132 public void testCase0() throws IOException
, CoreException
{
133 final Comparison comparison
= initComparison("case0");
134 final List
<Diff
> differences
= comparison
.getDifferences();
135 final Predicate
<?
super Diff
> predicate_E
= EMFComparePredicates
.addedToReference("B", "eSubpackages",
137 final Diff diff_E
= Iterators
.find(differences
.iterator(), predicate_E
);
138 final EObject value_E
= (EObject
)MergeViewerUtil
.getDiffValue(diff_E
);
139 final Match match_E
= comparison
.getMatch(value_E
);
142 IMergeViewerItem
.Container item_E
= new MergeViewerItem
.Container(comparison
, diff_E
, match_E
,
143 MergeViewerSide
.LEFT
, itemDelegator
.getAdapterFactory());
144 assertEquals("E", itemDelegator
.getText(item_E
.getSideValue(MergeViewerSide
.LEFT
)));
145 IMergeViewerItem
.Container item_B
= item_E
.getParent();
146 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.LEFT
)));
147 IMergeViewerItem
.Container item_Ellipsis
= item_B
.getParent();
148 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
149 assertNull(item_Ellipsis
.getParent());
151 IMergeViewerItem
[] item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
152 assertEquals(1, item_Ellipsis_Children
.length
);
153 item_B
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
154 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.LEFT
)));
157 item_E
= new MergeViewerItem
.Container(comparison
, diff_E
, match_E
, MergeViewerSide
.RIGHT
,
158 itemDelegator
.getAdapterFactory());
159 assertEquals("", itemDelegator
.getText(item_E
.getSideValue(MergeViewerSide
.RIGHT
)));
160 item_B
= item_E
.getParent();
161 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.RIGHT
)));
162 item_Ellipsis
= item_B
.getParent();
163 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
164 assertNull(item_Ellipsis
.getParent());
166 item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
167 assertEquals(1, item_Ellipsis_Children
.length
);
168 item_B
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
169 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.RIGHT
)));
173 public void testCase1() throws IOException
, CoreException
{
174 final Comparison comparison
= initComparison("case1");
175 final List
<Diff
> differences
= comparison
.getDifferences();
176 final Predicate
<?
super Diff
> predicate_F
= EMFComparePredicates
.addedToReference("D", "eSubpackages",
178 final Diff diff_F
= Iterators
.find(differences
.iterator(), predicate_F
);
179 final EObject value_F
= (EObject
)MergeViewerUtil
.getDiffValue(diff_F
);
180 final Match match_F
= comparison
.getMatch(value_F
);
183 IMergeViewerItem
.Container item_F
= new MergeViewerItem
.Container(comparison
, diff_F
, match_F
,
184 MergeViewerSide
.LEFT
, itemDelegator
.getAdapterFactory());
185 assertEquals("F", itemDelegator
.getText(item_F
.getSideValue(MergeViewerSide
.LEFT
)));
186 IMergeViewerItem
.Container item_D
= item_F
.getParent();
187 assertEquals("D", itemDelegator
.getText(item_D
.getSideValue(MergeViewerSide
.LEFT
)));
188 IMergeViewerItem
.Container item_Ellipsis
= item_D
.getParent();
189 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
190 IMergeViewerItem
.Container item_A
= item_Ellipsis
.getParent();
191 assertEquals("A", itemDelegator
.getText(item_A
.getSideValue(MergeViewerSide
.LEFT
)));
192 assertNull(item_A
.getParent());
194 IMergeViewerItem
[] item_A_Children
= item_A
.getChildren(null, null);
195 assertEquals(2, item_A_Children
.length
);
196 IMergeViewerItem
.Container item_C
= (IMergeViewerItem
.Container
)item_A_Children
[0];
197 assertEquals("", itemDelegator
.getText(item_C
.getSideValue(MergeViewerSide
.LEFT
)));
198 item_Ellipsis
= (IMergeViewerItem
.Container
)item_A_Children
[1];
199 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
200 IMergeViewerItem
[] item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
201 assertEquals(1, item_Ellipsis_Children
.length
);
202 item_D
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
203 assertEquals("D", itemDelegator
.getText(item_D
.getSideValue(MergeViewerSide
.LEFT
)));
206 item_F
= new MergeViewerItem
.Container(comparison
, diff_F
, match_F
, MergeViewerSide
.RIGHT
,
207 itemDelegator
.getAdapterFactory());
208 assertEquals("", itemDelegator
.getText(item_F
.getSideValue(MergeViewerSide
.RIGHT
)));
209 item_D
= item_F
.getParent();
210 assertEquals("D", itemDelegator
.getText(item_D
.getSideValue(MergeViewerSide
.RIGHT
)));
211 item_Ellipsis
= item_D
.getParent();
212 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
213 item_A
= item_Ellipsis
.getParent();
214 assertEquals("A", itemDelegator
.getText(item_A
.getSideValue(MergeViewerSide
.RIGHT
)));
215 assertNull(item_A
.getParent());
217 item_A_Children
= item_A
.getChildren(null, null);
218 assertEquals(2, item_A_Children
.length
);
219 item_C
= (IMergeViewerItem
.Container
)item_A_Children
[0];
220 assertEquals("C", itemDelegator
.getText(item_C
.getSideValue(MergeViewerSide
.RIGHT
)));
221 item_Ellipsis
= (IMergeViewerItem
.Container
)item_A_Children
[1];
222 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
223 item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
224 assertEquals(1, item_Ellipsis_Children
.length
);
225 item_D
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
226 assertEquals("D", itemDelegator
.getText(item_D
.getSideValue(MergeViewerSide
.RIGHT
)));
230 public void testCase2() throws IOException
, CoreException
{
231 final Comparison comparison
= initComparison("case2");
232 final List
<Diff
> differences
= comparison
.getDifferences();
233 final Predicate
<?
super Diff
> predicate_E
= EMFComparePredicates
.addedToReference("B.D",
234 "eSubpackages", "B.D.E");
235 final Diff diff_E
= Iterators
.find(differences
.iterator(), predicate_E
);
236 final EObject value_E
= (EObject
)MergeViewerUtil
.getDiffValue(diff_E
);
237 final Match match_E
= comparison
.getMatch(value_E
);
240 IMergeViewerItem
.Container item_E
= new MergeViewerItem
.Container(comparison
, diff_E
, match_E
,
241 MergeViewerSide
.LEFT
, itemDelegator
.getAdapterFactory());
242 assertEquals("E", itemDelegator
.getText(item_E
.getSideValue(MergeViewerSide
.LEFT
)));
243 IMergeViewerItem
.Container item_D
= item_E
.getParent();
244 assertEquals("D", itemDelegator
.getText(item_D
.getSideValue(MergeViewerSide
.LEFT
)));
245 IMergeViewerItem
.Container item_B
= item_D
.getParent();
246 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.LEFT
)));
247 IMergeViewerItem
.Container item_Ellipsis
= item_B
.getParent();
248 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
249 assertNull(item_Ellipsis
.getParent());
251 IMergeViewerItem
[] item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
252 assertEquals(1, item_Ellipsis_Children
.length
);
253 item_B
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
254 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.LEFT
)));
257 item_E
= new MergeViewerItem
.Container(comparison
, diff_E
, match_E
, MergeViewerSide
.RIGHT
,
258 itemDelegator
.getAdapterFactory());
259 assertEquals("", itemDelegator
.getText(item_E
.getSideValue(MergeViewerSide
.RIGHT
)));
260 item_D
= item_E
.getParent();
261 assertEquals("D", itemDelegator
.getText(item_D
.getSideValue(MergeViewerSide
.RIGHT
)));
262 item_B
= item_D
.getParent();
263 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.RIGHT
)));
264 item_Ellipsis
= item_B
.getParent();
265 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
266 assertNull(item_Ellipsis
.getParent());
268 item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
269 assertEquals(1, item_Ellipsis_Children
.length
);
270 item_B
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
271 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.RIGHT
)));
275 public void testCase3() throws IOException
, CoreException
{
276 final Comparison comparison
= initComparison("case3");
277 final List
<Diff
> differences
= comparison
.getDifferences();
278 final Predicate
<?
super Diff
> predicate_F
= EMFComparePredicates
.addedToReference("E", "eSubpackages",
280 final Diff diff_F
= Iterators
.find(differences
.iterator(), predicate_F
);
281 final EObject value_F
= (EObject
)MergeViewerUtil
.getDiffValue(diff_F
);
282 final Match match_F
= comparison
.getMatch(value_F
);
285 IMergeViewerItem
.Container item_F
= new MergeViewerItem
.Container(comparison
, diff_F
, match_F
,
286 MergeViewerSide
.LEFT
, itemDelegator
.getAdapterFactory());
287 assertEquals("F", itemDelegator
.getText(item_F
.getSideValue(MergeViewerSide
.LEFT
)));
288 IMergeViewerItem
.Container item_E
= item_F
.getParent();
289 assertEquals("E", itemDelegator
.getText(item_E
.getSideValue(MergeViewerSide
.LEFT
)));
290 IMergeViewerItem
.Container item_Ellipsis
= item_E
.getParent();
291 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
292 IMergeViewerItem
.Container item_B
= item_Ellipsis
.getParent();
293 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.LEFT
)));
294 item_Ellipsis
= item_B
.getParent();
295 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
296 assertNull(item_Ellipsis
.getParent());
298 IMergeViewerItem
[] item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
299 assertEquals(1, item_Ellipsis_Children
.length
);
300 item_B
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
301 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.LEFT
)));
302 IMergeViewerItem
[] item_B_Children
= item_B
.getChildren(null, null);
303 assertEquals(2, item_B_Children
.length
);
304 IMergeViewerItem
.Container item_C
= (IMergeViewerItem
.Container
)item_B_Children
[0];
305 assertEquals("", itemDelegator
.getText(item_C
.getSideValue(MergeViewerSide
.LEFT
)));
306 item_Ellipsis
= (IMergeViewerItem
.Container
)item_B_Children
[1];
307 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
308 item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
309 assertEquals(1, item_Ellipsis_Children
.length
);
310 item_E
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
311 assertEquals("E", itemDelegator
.getText(item_E
.getSideValue(MergeViewerSide
.LEFT
)));
314 item_F
= new MergeViewerItem
.Container(comparison
, diff_F
, match_F
, MergeViewerSide
.RIGHT
,
315 itemDelegator
.getAdapterFactory());
316 assertEquals("", itemDelegator
.getText(item_F
.getSideValue(MergeViewerSide
.RIGHT
)));
317 item_E
= item_F
.getParent();
318 assertEquals("E", itemDelegator
.getText(item_E
.getSideValue(MergeViewerSide
.RIGHT
)));
319 item_Ellipsis
= item_E
.getParent();
320 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
321 item_B
= item_Ellipsis
.getParent();
322 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.RIGHT
)));
323 item_Ellipsis
= item_B
.getParent();
324 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
325 assertNull(item_Ellipsis
.getParent());
327 item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
328 assertEquals(1, item_Ellipsis_Children
.length
);
329 item_B
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
330 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.RIGHT
)));
331 item_B_Children
= item_B
.getChildren(null, null);
332 assertEquals(2, item_B_Children
.length
);
333 item_C
= (IMergeViewerItem
.Container
)item_B_Children
[0];
334 assertEquals("C", itemDelegator
.getText(item_C
.getSideValue(MergeViewerSide
.RIGHT
)));
335 item_Ellipsis
= (IMergeViewerItem
.Container
)item_B_Children
[1];
336 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
337 item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
338 assertEquals(1, item_Ellipsis_Children
.length
);
339 item_E
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
340 assertEquals("E", itemDelegator
.getText(item_E
.getSideValue(MergeViewerSide
.RIGHT
)));
344 public void testCase4() throws IOException
, CoreException
{
345 final Comparison comparison
= initComparison("case4");
346 final List
<Diff
> differences
= comparison
.getDifferences();
347 final Predicate
<?
super Diff
> predicate_D
= EMFComparePredicates
.removedFromReference("B",
348 "eSubpackages", "B.D");
349 final Diff diff_D
= Iterators
.find(differences
.iterator(), predicate_D
);
350 final EObject value_D
= (EObject
)MergeViewerUtil
.getDiffValue(diff_D
);
351 final Match match_D
= comparison
.getMatch(value_D
);
354 IMergeViewerItem
.Container item_D
= new MergeViewerItem
.Container(comparison
, diff_D
, match_D
,
355 MergeViewerSide
.LEFT
, itemDelegator
.getAdapterFactory());
356 assertEquals("", itemDelegator
.getText(item_D
.getSideValue(MergeViewerSide
.LEFT
)));
357 IMergeViewerItem
.Container item_B
= item_D
.getParent();
358 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.LEFT
)));
359 IMergeViewerItem
.Container item_Ellipsis
= item_B
.getParent();
360 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
361 item_Ellipsis
= item_Ellipsis
.getParent();
362 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
363 assertNull(item_Ellipsis
.getParent());
365 IMergeViewerItem
[] item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
366 assertEquals(2, item_Ellipsis_Children
.length
);
367 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
368 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
369 IMergeViewerItem
[] item_R2_Children
= item_Ellipsis
.getChildren(null, null);
370 assertEquals(1, item_R2_Children
.length
);
371 item_B
= (IMergeViewerItem
.Container
)item_R2_Children
[0];
372 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.LEFT
)));
373 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[1];
374 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
375 IMergeViewerItem
[] item_R3_Children
= item_Ellipsis
.getChildren(null, null);
376 assertEquals(1, item_R3_Children
.length
);
377 IMergeViewerItem
.Container item_C
= (IMergeViewerItem
.Container
)item_R3_Children
[0];
378 assertEquals("C", itemDelegator
.getText(item_C
.getSideValue(MergeViewerSide
.LEFT
)));
381 item_D
= new MergeViewerItem
.Container(comparison
, diff_D
, match_D
, MergeViewerSide
.RIGHT
,
382 itemDelegator
.getAdapterFactory());
383 assertEquals("D", itemDelegator
.getText(item_D
.getSideValue(MergeViewerSide
.RIGHT
)));
384 item_B
= item_D
.getParent();
385 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.RIGHT
)));
386 item_Ellipsis
= item_B
.getParent();
387 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
388 item_Ellipsis
= item_Ellipsis
.getParent();
389 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
390 assertNull(item_Ellipsis
.getParent());
392 item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
393 assertEquals(2, item_Ellipsis_Children
.length
);
394 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
395 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
396 item_R2_Children
= item_Ellipsis
.getChildren(null, null);
397 assertEquals(1, item_R2_Children
.length
);
398 item_B
= (IMergeViewerItem
.Container
)item_R2_Children
[0];
399 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.RIGHT
)));
400 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[1];
401 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
402 item_R3_Children
= item_Ellipsis
.getChildren(null, null);
403 assertEquals(1, item_R3_Children
.length
);
404 item_C
= (IMergeViewerItem
.Container
)item_R3_Children
[0];
405 assertEquals("C", itemDelegator
.getText(item_C
.getSideValue(MergeViewerSide
.RIGHT
)));
409 public void testCase5() throws IOException
, CoreException
{
410 final Comparison comparison
= initComparison("case5");
411 final List
<Diff
> differences
= comparison
.getDifferences();
412 final Predicate
<?
super Diff
> predicate_H
= EMFComparePredicates
.removedFromReference("F",
413 "eSubpackages", "F.H");
414 final Diff diff_H
= Iterators
.find(differences
.iterator(), predicate_H
);
415 final EObject value_H
= (EObject
)MergeViewerUtil
.getDiffValue(diff_H
);
416 final Match match_H
= comparison
.getMatch(value_H
);
419 IMergeViewerItem
.Container item_H
= new MergeViewerItem
.Container(comparison
, diff_H
, match_H
,
420 MergeViewerSide
.LEFT
, itemDelegator
.getAdapterFactory());
421 assertEquals("", itemDelegator
.getText(item_H
.getSideValue(MergeViewerSide
.LEFT
)));
422 IMergeViewerItem
.Container item_F
= item_H
.getParent();
423 assertEquals("F", itemDelegator
.getText(item_F
.getSideValue(MergeViewerSide
.LEFT
)));
424 IMergeViewerItem
.Container item_Ellipsis
= item_F
.getParent();
425 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
426 item_Ellipsis
= item_Ellipsis
.getParent();
427 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
428 assertNull(item_Ellipsis
.getParent());
430 IMergeViewerItem
[] item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
431 assertEquals(2, item_Ellipsis_Children
.length
);
432 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
433 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
434 IMergeViewerItem
[] item_R6_Children
= item_Ellipsis
.getChildren(null, null);
435 assertEquals(1, item_R6_Children
.length
);
436 item_F
= (IMergeViewerItem
.Container
)item_R6_Children
[0];
437 assertEquals("F", itemDelegator
.getText(item_F
.getSideValue(MergeViewerSide
.LEFT
)));
438 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[1];
439 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
440 IMergeViewerItem
[] item_R7_Children
= item_Ellipsis
.getChildren(null, null);
441 assertEquals(1, item_R7_Children
.length
);
442 IMergeViewerItem
.Container item_G
= (IMergeViewerItem
.Container
)item_R7_Children
[0];
443 assertEquals("G", itemDelegator
.getText(item_G
.getSideValue(MergeViewerSide
.LEFT
)));
446 item_H
= new MergeViewerItem
.Container(comparison
, diff_H
, match_H
, MergeViewerSide
.RIGHT
,
447 itemDelegator
.getAdapterFactory());
448 assertEquals("H", itemDelegator
.getText(item_H
.getSideValue(MergeViewerSide
.RIGHT
)));
449 item_F
= item_H
.getParent();
450 assertEquals("F", itemDelegator
.getText(item_F
.getSideValue(MergeViewerSide
.RIGHT
)));
451 item_Ellipsis
= item_F
.getParent();
452 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
453 item_Ellipsis
= item_Ellipsis
.getParent();
454 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
455 assertNull(item_Ellipsis
.getParent());
457 item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
458 assertEquals(2, item_Ellipsis_Children
.length
);
459 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
460 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
461 item_R6_Children
= item_Ellipsis
.getChildren(null, null);
462 assertEquals(1, item_R6_Children
.length
);
463 item_F
= (IMergeViewerItem
.Container
)item_R6_Children
[0];
464 assertEquals("F", itemDelegator
.getText(item_F
.getSideValue(MergeViewerSide
.RIGHT
)));
465 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[1];
466 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
467 item_R7_Children
= item_Ellipsis
.getChildren(null, null);
468 assertEquals(1, item_R7_Children
.length
);
469 item_G
= (IMergeViewerItem
.Container
)item_R7_Children
[0];
470 assertEquals("G", itemDelegator
.getText(item_G
.getSideValue(MergeViewerSide
.RIGHT
)));
474 public void testCase6() throws IOException
, CoreException
{
475 final Comparison comparison
= initComparison("case6");
476 final List
<Diff
> differences
= comparison
.getDifferences();
477 final Predicate
<?
super Diff
> predicate_I
= EMFComparePredicates
.removedFromReference("G",
478 "eSubpackages", "G.I");
479 final Diff diff_I
= Iterators
.find(differences
.iterator(), predicate_I
);
480 final EObject value_I
= (EObject
)MergeViewerUtil
.getDiffValue(diff_I
);
481 final Match match_I
= comparison
.getMatch(value_I
);
484 IMergeViewerItem
.Container item_I
= new MergeViewerItem
.Container(comparison
, diff_I
, match_I
,
485 MergeViewerSide
.LEFT
, itemDelegator
.getAdapterFactory());
486 assertEquals("", itemDelegator
.getText(item_I
.getSideValue(MergeViewerSide
.LEFT
)));
487 IMergeViewerItem
.Container item_G
= item_I
.getParent();
488 assertEquals("G", itemDelegator
.getText(item_G
.getSideValue(MergeViewerSide
.LEFT
)));
489 IMergeViewerItem
.Container item_Ellipsis
= item_G
.getParent();
490 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
491 IMergeViewerItem
.Container item_B
= item_Ellipsis
.getParent();
492 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.LEFT
)));
493 item_Ellipsis
= item_B
.getParent();
494 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
495 item_Ellipsis
= item_Ellipsis
.getParent();
496 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
497 assertNull(item_Ellipsis
.getParent());
499 IMergeViewerItem
[] item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
500 assertEquals(2, item_Ellipsis_Children
.length
);
501 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
502 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
503 IMergeViewerItem
[] item_R2_Children
= item_Ellipsis
.getChildren(null, null);
504 assertEquals(1, item_R2_Children
.length
);
505 item_B
= (IMergeViewerItem
.Container
)item_R2_Children
[0];
506 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.LEFT
)));
507 IMergeViewerItem
[] item_B_Children
= item_B
.getChildren(null, null);
508 assertEquals(3, item_B_Children
.length
);
509 IMergeViewerItem
.Container item_E
= (IMergeViewerItem
.Container
)item_B_Children
[0];
510 assertEquals("E", itemDelegator
.getText(item_E
.getSideValue(MergeViewerSide
.LEFT
)));
511 item_Ellipsis
= (IMergeViewerItem
.Container
)item_B_Children
[1];
512 assertEquals(ELLIPSIS
+ " (R5.ecore)",
513 itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
514 IMergeViewerItem
[] item_R5_Children
= item_Ellipsis
.getChildren(null, null);
515 assertEquals(1, item_R5_Children
.length
);
516 item_G
= (IMergeViewerItem
.Container
)item_R5_Children
[0];
517 assertEquals("G", itemDelegator
.getText(item_G
.getSideValue(MergeViewerSide
.LEFT
)));
518 item_Ellipsis
= (IMergeViewerItem
.Container
)item_B_Children
[2];
519 assertEquals(ELLIPSIS
+ " (R6.ecore)",
520 itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
521 IMergeViewerItem
[] item_R6_Children
= item_Ellipsis
.getChildren(null, null);
522 assertEquals(1, item_R6_Children
.length
);
523 IMergeViewerItem
.Container item_H
= (IMergeViewerItem
.Container
)item_R6_Children
[0];
524 assertEquals("H", itemDelegator
.getText(item_H
.getSideValue(MergeViewerSide
.LEFT
)));
525 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[1];
526 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
527 IMergeViewerItem
[] item_R3_Children
= item_Ellipsis
.getChildren(null, null);
528 assertEquals(1, item_R3_Children
.length
);
529 IMergeViewerItem
.Container item_C
= (IMergeViewerItem
.Container
)item_R3_Children
[0];
530 assertEquals("C", itemDelegator
.getText(item_C
.getSideValue(MergeViewerSide
.LEFT
)));
533 item_I
= new MergeViewerItem
.Container(comparison
, diff_I
, match_I
, MergeViewerSide
.RIGHT
,
534 itemDelegator
.getAdapterFactory());
535 assertEquals("I", itemDelegator
.getText(item_I
.getSideValue(MergeViewerSide
.RIGHT
)));
536 item_G
= item_I
.getParent();
537 assertEquals("G", itemDelegator
.getText(item_G
.getSideValue(MergeViewerSide
.RIGHT
)));
538 item_Ellipsis
= item_G
.getParent();
539 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
540 item_B
= item_Ellipsis
.getParent();
541 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.RIGHT
)));
542 item_Ellipsis
= item_B
.getParent();
543 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
544 item_Ellipsis
= item_Ellipsis
.getParent();
545 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
546 assertNull(item_Ellipsis
.getParent());
548 item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
549 assertEquals(2, item_Ellipsis_Children
.length
);
550 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
551 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
552 item_R2_Children
= item_Ellipsis
.getChildren(null, null);
553 assertEquals(1, item_R2_Children
.length
);
554 item_B
= (IMergeViewerItem
.Container
)item_R2_Children
[0];
555 assertEquals("B", itemDelegator
.getText(item_B
.getSideValue(MergeViewerSide
.RIGHT
)));
556 item_B_Children
= item_B
.getChildren(null, null);
557 assertEquals(3, item_B_Children
.length
);
558 item_E
= (IMergeViewerItem
.Container
)item_B_Children
[0];
559 assertEquals("", itemDelegator
.getText(item_E
.getSideValue(MergeViewerSide
.RIGHT
)));
560 item_Ellipsis
= (IMergeViewerItem
.Container
)item_B_Children
[1];
561 assertEquals(ELLIPSIS
+ " (R5.ecore)",
562 itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
563 item_R5_Children
= item_Ellipsis
.getChildren(null, null);
564 assertEquals(1, item_R5_Children
.length
);
565 item_G
= (IMergeViewerItem
.Container
)item_R5_Children
[0];
566 assertEquals("G", itemDelegator
.getText(item_G
.getSideValue(MergeViewerSide
.RIGHT
)));
567 item_Ellipsis
= (IMergeViewerItem
.Container
)item_B_Children
[2];
568 assertEquals(ELLIPSIS
+ " (R6.ecore)",
569 itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
570 item_R6_Children
= item_Ellipsis
.getChildren(null, null);
571 assertEquals(1, item_R6_Children
.length
);
572 item_H
= (IMergeViewerItem
.Container
)item_R6_Children
[0];
573 assertEquals("H", itemDelegator
.getText(item_H
.getSideValue(MergeViewerSide
.RIGHT
)));
574 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[1];
575 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
576 item_R3_Children
= item_Ellipsis
.getChildren(null, null);
577 assertEquals(1, item_R3_Children
.length
);
578 item_C
= (IMergeViewerItem
.Container
)item_R3_Children
[0];
579 assertEquals("C", itemDelegator
.getText(item_C
.getSideValue(MergeViewerSide
.RIGHT
)));
583 public void testCase7() throws IOException
, CoreException
{
584 final Comparison comparison
= initComparison("case7");
585 final List
<Diff
> differences
= comparison
.getDifferences();
586 final Predicate
<?
super Diff
> predicate_I
= EMFComparePredicates
.removedFromReference("G",
587 "eSubpackages", "G.I");
588 final Diff diff_I
= Iterators
.find(differences
.iterator(), predicate_I
);
589 final EObject value_I
= (EObject
)MergeViewerUtil
.getDiffValue(diff_I
);
590 final Match match_I
= comparison
.getMatch(value_I
);
593 IMergeViewerItem
.Container item_I
= new MergeViewerItem
.Container(comparison
, diff_I
, match_I
,
594 MergeViewerSide
.LEFT
, itemDelegator
.getAdapterFactory());
595 assertEquals("", itemDelegator
.getText(item_I
.getSideValue(MergeViewerSide
.LEFT
)));
596 IMergeViewerItem
.Container item_G
= item_I
.getParent();
597 assertEquals("G", itemDelegator
.getText(item_G
.getSideValue(MergeViewerSide
.LEFT
)));
598 IMergeViewerItem
.Container item_Ellipsis
= item_G
.getParent();
599 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
600 item_Ellipsis
= item_Ellipsis
.getParent();
601 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
602 assertNull(item_Ellipsis
.getParent());
604 IMergeViewerItem
[] item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
605 assertEquals(3, item_Ellipsis_Children
.length
);
606 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
607 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
608 IMergeViewerItem
[] item_R3_Children
= item_Ellipsis
.getChildren(null, null);
609 assertEquals(1, item_R3_Children
.length
);
610 IMergeViewerItem
.Container item_C
= (IMergeViewerItem
.Container
)item_R3_Children
[0];
611 assertEquals("C", itemDelegator
.getText(item_C
.getSideValue(MergeViewerSide
.LEFT
)));
612 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[1];
613 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
614 IMergeViewerItem
[] item_R5_Children
= item_Ellipsis
.getChildren(null, null);
615 assertEquals(1, item_R5_Children
.length
);
616 item_G
= (IMergeViewerItem
.Container
)item_R5_Children
[0];
617 assertEquals("G", itemDelegator
.getText(item_G
.getSideValue(MergeViewerSide
.LEFT
)));
618 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[2];
619 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.LEFT
)));
620 IMergeViewerItem
[] item_R6_Children
= item_Ellipsis
.getChildren(null, null);
621 assertEquals(1, item_R6_Children
.length
);
622 IMergeViewerItem
.Container item_H
= (IMergeViewerItem
.Container
)item_R6_Children
[0];
623 assertEquals("H", itemDelegator
.getText(item_H
.getSideValue(MergeViewerSide
.LEFT
)));
626 item_I
= new MergeViewerItem
.Container(comparison
, diff_I
, match_I
, MergeViewerSide
.LEFT
,
627 itemDelegator
.getAdapterFactory());
628 assertEquals("I", itemDelegator
.getText(item_I
.getSideValue(MergeViewerSide
.RIGHT
)));
629 item_G
= item_I
.getParent();
630 assertEquals("G", itemDelegator
.getText(item_G
.getSideValue(MergeViewerSide
.RIGHT
)));
631 item_Ellipsis
= item_G
.getParent();
632 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
633 item_Ellipsis
= item_Ellipsis
.getParent();
634 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
635 assertNull(item_Ellipsis
.getParent());
637 item_Ellipsis_Children
= item_Ellipsis
.getChildren(null, null);
638 assertEquals(3, item_Ellipsis_Children
.length
);
639 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[0];
640 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
641 item_R3_Children
= item_Ellipsis
.getChildren(null, null);
642 assertEquals(1, item_R3_Children
.length
);
643 item_C
= (IMergeViewerItem
.Container
)item_R3_Children
[0];
644 assertEquals("C", itemDelegator
.getText(item_C
.getSideValue(MergeViewerSide
.RIGHT
)));
645 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[1];
646 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
647 item_R5_Children
= item_Ellipsis
.getChildren(null, null);
648 assertEquals(1, item_R5_Children
.length
);
649 item_G
= (IMergeViewerItem
.Container
)item_R5_Children
[0];
650 assertEquals("G", itemDelegator
.getText(item_G
.getSideValue(MergeViewerSide
.RIGHT
)));
651 item_Ellipsis
= (IMergeViewerItem
.Container
)item_Ellipsis_Children
[2];
652 assertEquals(ELLIPSIS
, itemDelegator
.getText(item_Ellipsis
.getSideValue(MergeViewerSide
.RIGHT
)));
653 item_R6_Children
= item_Ellipsis
.getChildren(null, null);
654 assertEquals(1, item_R6_Children
.length
);
655 item_H
= (IMergeViewerItem
.Container
)item_R6_Children
[0];
656 assertEquals("H", itemDelegator
.getText(item_H
.getSideValue(MergeViewerSide
.RIGHT
)));