1 package de.uni_leipzig.wifa.iwi.mr3.dao.neo4j.impl;
2
3 import static org.easymock.EasyMock.createMock;
4 import static org.easymock.EasyMock.expect;
5 import static org.easymock.EasyMock.replay;
6 import static org.easymock.EasyMock.reset;
7 import static org.easymock.EasyMock.verify;
8
9 import java.util.HashMap;
10 import java.util.Iterator;
11 import java.util.Map;
12
13 import org.eclipse.emf.common.util.EList;
14 import org.eclipse.emf.ecore.EClassifier;
15 import org.eclipse.emf.ecore.EGenericType;
16 import org.eclipse.emf.ecore.EObject;
17 import org.eclipse.emf.ecore.EPackage;
18 import org.eclipse.emf.ecore.EcorePackage;
19 import org.eclipse.emf.ecore.resource.Resource;
20 import org.junit.After;
21 import org.junit.Before;
22 import org.junit.Ignore;
23 import org.junit.Test;
24 import org.neo4j.api.core.Direction;
25 import org.neo4j.api.core.NeoService;
26 import org.neo4j.api.core.Node;
27 import org.neo4j.api.core.Relationship;
28 import org.neo4j.api.core.ReturnableEvaluator;
29 import org.neo4j.api.core.StopEvaluator;
30 import org.neo4j.api.core.Traverser;
31 import org.neo4j.api.core.Traverser.Order;
32
33 import de.uni_leipzig.wifa.iwi.mr3.dao.Constants;
34 import de.uni_leipzig.wifa.iwi.mr3.dao.neo4j.EcoreRelationshipType;
35
36
37
38
39 public class PhaseTwoSaveProcessorEGenericsTest
40 {
41
42 private AbstractNeoSaveProcessor to;
43
44 private Map<EObject, Object> registry;
45
46 private NeoService neoMock;
47 private Resource resMock;
48 private Iterable<Relationship> refIterableMock;
49 private Iterator<Relationship> refIteratorMock;
50 private Iterable<Relationship> subRefIterableMock;
51 private Iterator<Relationship> subRefIteratorMock;
52 private Iterator<Node> metaEcoreSubNodesIteratorMock;
53 private Node refNodeMock;
54 private Node subRefNodeMock;
55 private Node metaEcoreNodeMock;
56 private Node metaElementNodeMock;
57 private Node aEmptyNodeMock;
58 private Relationship ref2SubrefRelMock;
59 private Relationship aEmptyRelMock;
60 private Relationship metaEcoreRelMock;
61 private Traverser metaEcoreSubNodesTraverserMock;
62 private NeoHelper neoHelper;
63
64
65
66
67 @Before
68 public void setUp()
69 {
70
71
72 metaElementNodeMock = createMock("metaElementNode", Node.class);
73 replay(metaElementNodeMock);
74
75
76 metaEcoreSubNodesIteratorMock = createMock(Iterator.class);
77 expect(metaEcoreSubNodesIteratorMock.hasNext()).andReturn(true);
78 expect(metaEcoreSubNodesIteratorMock.next()).andReturn(metaElementNodeMock);
79 replay(metaEcoreSubNodesIteratorMock);
80
81 metaEcoreSubNodesTraverserMock = createMock(Traverser.class);
82 expect(metaEcoreSubNodesTraverserMock.iterator()).andReturn(metaEcoreSubNodesIteratorMock);
83 replay(metaEcoreSubNodesTraverserMock);
84
85 metaEcoreNodeMock = createMock("metaEcoreNode", Node.class);
86 expect(metaEcoreNodeMock.getProperty(Constants.PROPERTY_NS_URI)).andReturn(EcorePackage.eNS_URI);
87 expect(
88 metaEcoreNodeMock.traverse(Order.BREADTH_FIRST, StopEvaluator.END_OF_GRAPH, ReturnableEvaluator.ALL_BUT_START_NODE,
89 EcoreRelationshipType.CONTAINS, Direction.OUTGOING)).andReturn(metaEcoreSubNodesTraverserMock);
90 replay(metaEcoreNodeMock);
91
92 metaEcoreRelMock = createMock(Relationship.class);
93 expect(metaEcoreRelMock.getEndNode()).andReturn(metaEcoreNodeMock);
94 replay(metaEcoreRelMock);
95
96 aEmptyNodeMock = createMock("aEmptyNodeMock", Node.class);
97 expect(aEmptyNodeMock.getProperty(Constants.PROPERTY_NS_URI)).andReturn("http://empty.model.com");
98 replay(aEmptyNodeMock);
99
100 aEmptyRelMock = createMock(Relationship.class);
101 expect(aEmptyRelMock.getEndNode()).andReturn(aEmptyNodeMock);
102 replay(aEmptyRelMock);
103
104 subRefIteratorMock = createMock(Iterator.class);
105 expect(subRefIteratorMock.hasNext()).andReturn(true);
106 expect(subRefIteratorMock.next()).andReturn(aEmptyRelMock);
107 expect(subRefIteratorMock.hasNext()).andReturn(true);
108 expect(subRefIteratorMock.next()).andReturn(metaEcoreRelMock);
109 replay(subRefIteratorMock);
110
111 subRefIterableMock = createMock(Iterable.class);
112 expect(subRefIterableMock.iterator()).andReturn(subRefIteratorMock);
113 replay(subRefIterableMock);
114
115 subRefNodeMock = createMock("subRefNode", Node.class);
116 expect(subRefNodeMock.getRelationships(Direction.OUTGOING)).andReturn(subRefIterableMock);
117 replay(subRefNodeMock);
118
119 ref2SubrefRelMock = createMock(Relationship.class);
120 expect(ref2SubrefRelMock.getEndNode()).andReturn(subRefNodeMock);
121 replay(ref2SubrefRelMock);
122
123 refIteratorMock = createMock(Iterator.class);
124 expect(refIteratorMock.hasNext()).andReturn(true);
125 expect(refIteratorMock.next()).andReturn(ref2SubrefRelMock);
126 replay(refIteratorMock);
127
128 refIterableMock = createMock(Iterable.class);
129 expect(refIterableMock.iterator()).andReturn(refIteratorMock);
130 replay(refIterableMock);
131
132 refNodeMock = createMock("refNode", Node.class);
133 expect(refNodeMock.getRelationships(EcoreRelationshipType.RESOURCES, Direction.OUTGOING)).andReturn(refIterableMock);
134 replay(refNodeMock);
135
136
137 registry = new HashMap<EObject, Object>();
138
139
140 neoMock = createMock(NeoService.class);
141 expect(neoMock.getReferenceNode()).andReturn(refNodeMock);
142 replay(neoMock);
143
144
145 resMock = createMock(Resource.class);
146 replay(resMock);
147
148 neoHelper = new NeoHelper();
149 neoHelper.setNeo(neoMock);
150
151 to = new PhaseTwoSaveProcessor();
152 to.setHelper(neoHelper);
153 }
154
155
156
157
158 @After
159 public void tearDown()
160 {
161 verify(metaElementNodeMock);
162 verify(metaEcoreSubNodesIteratorMock);
163 verify(metaEcoreSubNodesTraverserMock);
164 verify(metaEcoreNodeMock);
165 verify(metaEcoreRelMock);
166 verify(aEmptyNodeMock);
167 verify(aEmptyRelMock);
168 verify(subRefIteratorMock);
169 verify(subRefIterableMock);
170 verify(subRefNodeMock);
171 verify(ref2SubrefRelMock);
172 verify(refIteratorMock);
173 verify(refIterableMock);
174 verify(refNodeMock);
175 verify(neoMock);
176 verify(resMock);
177 }
178
179
180
181
182
183
184 @Test
185 public void testProcessEGenericType()
186 {
187 final EClassifier eClassifierMock1 = createMock(EClassifier.class);
188 final Node eClassifierNodeMock1 = createMock("eClassifierNode", Node.class);
189 expect(eClassifierNodeMock1.hasRelationship(EcoreRelationshipType.CONTAINS, Direction.INCOMING)).andReturn(false);
190 replay(eClassifierMock1, eClassifierNodeMock1);
191 registry.put(eClassifierMock1, eClassifierNodeMock1);
192
193 final EGenericType eGenericTypeMock1 = createMock(EGenericType.class);
194 final Node eGenericTypeNodeMock1 = createMock("eGenericTypeNode", Node.class);
195 replay(eGenericTypeMock1, eGenericTypeNodeMock1);
196 registry.put(eGenericTypeMock1, eGenericTypeNodeMock1);
197
198 final EGenericType eTypeGenericTypeMock1 = createMock(EGenericType.class);
199
200 final Node eTypeGenericTypeNodeMock1 = createMock("eTypeGenericTypeNode", Node.class);
201 replay(eTypeGenericTypeMock1, eTypeGenericTypeNodeMock1);
202 registry.put(eTypeGenericTypeMock1, eTypeGenericTypeNodeMock1);
203
204 final EGenericType eTypeGenericTypeMock2 = createMock(EGenericType.class);
205
206 final Node eTypeGenericTypeNodeMock2 = createMock("eTypeGenericNode", Node.class);
207 replay(eTypeGenericTypeMock2, eTypeGenericTypeNodeMock2);
208 registry.put(eTypeGenericTypeMock2, eTypeGenericTypeNodeMock2);
209
210 reset(metaElementNodeMock);
211 expect(metaElementNodeMock.hasProperty(Constants.PROPERTY_NAME)).andReturn(true);
212 expect(metaElementNodeMock.getProperty(Constants.PROPERTY_NAME)).andReturn(
213 EGenericType.class.getSimpleName().contains(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY.getName())
214 ? EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY.getName() : EGenericType.class.getSimpleName());
215 expect(metaElementNodeMock.createRelationshipTo(eGenericTypeNodeMock1, EcoreRelationshipType.INSTANCE)).andReturn(null);
216 replay(metaElementNodeMock);
217
218 final Iterator<EGenericType> eGenericTypeIteratorMock = createMock(Iterator.class);
219 expect(eGenericTypeIteratorMock.hasNext()).andReturn(true);
220 expect(eGenericTypeIteratorMock.next()).andReturn(eTypeGenericTypeMock1);
221 expect(eGenericTypeIteratorMock.hasNext()).andReturn(true);
222 expect(eGenericTypeIteratorMock.next()).andReturn(eTypeGenericTypeMock2);
223 expect(eGenericTypeIteratorMock.hasNext()).andReturn(false);
224 replay(eGenericTypeIteratorMock);
225
226 final EList<EGenericType> eGenericTypeListMock = createMock(EList.class);
227 expect(eGenericTypeListMock.iterator()).andReturn(eGenericTypeIteratorMock);
228 replay(eGenericTypeListMock);
229
230 reset(eGenericTypeMock1);
231 expect(eGenericTypeMock1.getETypeArguments()).andReturn(eGenericTypeListMock);
232 expect(eGenericTypeMock1.getEClassifier()).andReturn(eClassifierMock1);
233 replay(eGenericTypeMock1);
234
235 reset(eGenericTypeNodeMock1);
236 expect(eGenericTypeNodeMock1.createRelationshipTo(eTypeGenericTypeNodeMock1, EcoreRelationshipType.GENERIC_TYPE_ARGUMENT))
237 .andReturn(null);
238 expect(eGenericTypeNodeMock1.createRelationshipTo(eTypeGenericTypeNodeMock2, EcoreRelationshipType.GENERIC_TYPE_ARGUMENT))
239 .andReturn(null);
240 expect(eGenericTypeNodeMock1.createRelationshipTo(eClassifierNodeMock1, EcoreRelationshipType.TYPE)).andReturn(null);
241 expect(eGenericTypeNodeMock1.hasRelationship(EcoreRelationshipType.CONTAINS, Direction.INCOMING)).andReturn(false);
242 expect(eGenericTypeNodeMock1.createRelationshipTo(eClassifierNodeMock1, EcoreRelationshipType.DEPENDS)).andReturn(null);
243 replay(eGenericTypeNodeMock1);
244
245 to.process(eGenericTypeMock1, registry);
246
247
248 verify(eClassifierMock1, eClassifierNodeMock1);
249 verify(eGenericTypeNodeMock1, eGenericTypeMock1, eGenericTypeIteratorMock, eGenericTypeListMock);
250
251 }
252
253
254
255
256
257
258 @Test
259 public void testProcessEGenericTypeNoClassifier()
260 {
261 final EGenericType eGenericTypeMock1 = createMock(EGenericType.class);
262 final Node eGenericTypeNodeMock1 = createMock(Node.class);
263 replay(eGenericTypeMock1, eGenericTypeNodeMock1);
264 registry.put(eGenericTypeMock1, eGenericTypeNodeMock1);
265
266 final EGenericType eTypeGenericTypeMock1 = createMock(EGenericType.class);
267 final Node eTypeGenericTypeNodeMock1 = createMock(Node.class);
268 replay(eTypeGenericTypeMock1, eTypeGenericTypeNodeMock1);
269 registry.put(eTypeGenericTypeMock1, eTypeGenericTypeNodeMock1);
270
271 final EGenericType eTypeGenericTypeMock2 = createMock(EGenericType.class);
272 final Node eTypeGenericTypeNodeMock2 = createMock(Node.class);
273 replay(eTypeGenericTypeMock2, eTypeGenericTypeNodeMock2);
274 registry.put(eTypeGenericTypeMock2, eTypeGenericTypeNodeMock2);
275
276 reset(metaElementNodeMock);
277 expect(metaElementNodeMock.hasProperty(Constants.PROPERTY_NAME)).andReturn(true);
278 expect(metaElementNodeMock.getProperty(Constants.PROPERTY_NAME)).andReturn(
279 EGenericType.class.getSimpleName().contains(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY.getName())
280 ? EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY.getName() : EGenericType.class.getSimpleName());
281 expect(metaElementNodeMock.createRelationshipTo(eGenericTypeNodeMock1, EcoreRelationshipType.INSTANCE)).andReturn(null);
282 replay(metaElementNodeMock);
283
284 final Iterator<EGenericType> eGenericTypeIteratorMock = createMock(Iterator.class);
285 expect(eGenericTypeIteratorMock.hasNext()).andReturn(true);
286 expect(eGenericTypeIteratorMock.next()).andReturn(eTypeGenericTypeMock1);
287 expect(eGenericTypeIteratorMock.hasNext()).andReturn(true);
288 expect(eGenericTypeIteratorMock.next()).andReturn(eTypeGenericTypeMock2);
289 expect(eGenericTypeIteratorMock.hasNext()).andReturn(false);
290 replay(eGenericTypeIteratorMock);
291
292 final EList<EGenericType> eGenericTypeListMock = createMock(EList.class);
293 expect(eGenericTypeListMock.iterator()).andReturn(eGenericTypeIteratorMock);
294 replay(eGenericTypeListMock);
295
296 reset(eGenericTypeMock1);
297 expect(eGenericTypeMock1.getETypeArguments()).andReturn(eGenericTypeListMock);
298 expect(eGenericTypeMock1.getEClassifier()).andReturn(null);
299 replay(eGenericTypeMock1);
300
301 reset(eGenericTypeNodeMock1);
302 expect(eGenericTypeNodeMock1.createRelationshipTo(eTypeGenericTypeNodeMock1, EcoreRelationshipType.GENERIC_TYPE_ARGUMENT))
303 .andReturn(null);
304 expect(eGenericTypeNodeMock1.createRelationshipTo(eTypeGenericTypeNodeMock2, EcoreRelationshipType.GENERIC_TYPE_ARGUMENT))
305 .andReturn(null);
306 replay(eGenericTypeNodeMock1);
307
308 to.process(eGenericTypeMock1, registry);
309
310
311 verify(eGenericTypeNodeMock1, eGenericTypeMock1, eGenericTypeIteratorMock, eGenericTypeListMock);
312
313 }
314
315
316
317
318
319
320
321 @Ignore
322 @Test
323 public void testProcessEGenericType1()
324 {
325 final String modelUri = "http://model.org/testmodel";
326 final String modelName = "testmodel";
327
328 final Traverser ePackageModelNodeTraverserMock = createMock(Traverser.class);
329 replay(ePackageModelNodeTraverserMock);
330
331 final EPackage ePackageMock1 = createMock(EPackage.class);
332
333 expect(ePackageMock1.eContainer()).andReturn(null);
334 expect(ePackageMock1.getNsURI()).andReturn(modelUri);
335
336
337 final Node eClassifierNodeMock1 = createMock(Node.class);
338 replay(eClassifierNodeMock1);
339
340 final Node ePackageNodeMock1 = createMock(Node.class);
341
342
343
344
345
346
347
348 replay(ePackageMock1, ePackageNodeMock1);
349 registry.put(ePackageMock1, ePackageNodeMock1);
350
351 final EClassifier eClassifierMock1 = createMock(EClassifier.class);
352
353 expect(eClassifierMock1.getEPackage()).andReturn(ePackageMock1);
354 expect(eClassifierMock1.getName()).andReturn(modelName);
355 replay(eClassifierMock1);
356
357
358
359
360 final EGenericType eTypeGenericTypeMock1 = createMock(EGenericType.class);
361 final Node eTypeGenericTypeNodeMock1 = createMock(Node.class);
362 replay(eTypeGenericTypeMock1, eTypeGenericTypeNodeMock1);
363 registry.put(eTypeGenericTypeMock1, eTypeGenericTypeNodeMock1);
364
365 final EGenericType eTypeGenericTypeMock2 = createMock(EGenericType.class);
366 final Node eTypeGenericTypeNodeMock2 = createMock(Node.class);
367 replay(eTypeGenericTypeMock2, eTypeGenericTypeNodeMock2);
368 registry.put(eTypeGenericTypeMock2, eTypeGenericTypeNodeMock2);
369
370 final Iterator<EGenericType> eGenericTypeIteratorMock = createMock(Iterator.class);
371 expect(eGenericTypeIteratorMock.hasNext()).andReturn(true);
372 expect(eGenericTypeIteratorMock.next()).andReturn(eTypeGenericTypeMock1);
373 expect(eGenericTypeIteratorMock.hasNext()).andReturn(true);
374 expect(eGenericTypeIteratorMock.next()).andReturn(eTypeGenericTypeMock2);
375 expect(eGenericTypeIteratorMock.hasNext()).andReturn(false);
376 replay(eGenericTypeIteratorMock);
377
378 final EList<EGenericType> eGenericTypeListMock = createMock(EList.class);
379 expect(eGenericTypeListMock.iterator()).andReturn(eGenericTypeIteratorMock);
380 replay(eGenericTypeListMock);
381
382 final EGenericType eGenericTypeMock1 = createMock(EGenericType.class);
383 expect(eGenericTypeMock1.getETypeArguments()).andReturn(eGenericTypeListMock);
384 expect(eGenericTypeMock1.getEClassifier()).andReturn(eClassifierMock1);
385
386 replay(eGenericTypeMock1);
387
388 final Node eGenericTypeNodeMock1 = createMock(Node.class);
389 expect(eGenericTypeNodeMock1.createRelationshipTo(eTypeGenericTypeNodeMock1, EcoreRelationshipType.GENERIC_TYPE_ARGUMENT))
390 .andReturn(null);
391 expect(eGenericTypeNodeMock1.createRelationshipTo(eTypeGenericTypeNodeMock2, EcoreRelationshipType.GENERIC_TYPE_ARGUMENT))
392 .andReturn(null);
393 expect(eGenericTypeNodeMock1.createRelationshipTo(eClassifierNodeMock1, EcoreRelationshipType.TYPE)).andReturn(null);
394 replay(eGenericTypeNodeMock1);
395 registry.put(eGenericTypeMock1, eGenericTypeNodeMock1);
396
397
398 final Node aEmptyElementNodeMock = createMock(Node.class);
399 expect(aEmptyElementNodeMock.hasProperty(Constants.PROPERTY_NAME)).andReturn(true);
400 expect(aEmptyElementNodeMock.getProperty(Constants.PROPERTY_NAME)).andReturn(modelName);
401 expect(aEmptyElementNodeMock.getSingleRelationship(EcoreRelationshipType.INSTANCE, Direction.INCOMING)).andReturn(null);
402 replay(aEmptyElementNodeMock);
403
404 final Iterator<Node> aEmptySubNodesTraverserIteratorMock = createMock(Iterator.class);
405 expect(aEmptySubNodesTraverserIteratorMock.hasNext()).andReturn(true);
406 expect(aEmptySubNodesTraverserIteratorMock.next()).andReturn(aEmptyElementNodeMock);
407 replay(aEmptySubNodesTraverserIteratorMock);
408
409 final Traverser aEmptySubNodesTraverserMock = createMock(Traverser.class);
410 expect(aEmptySubNodesTraverserMock.iterator()).andReturn(aEmptySubNodesTraverserIteratorMock);
411 replay(aEmptySubNodesTraverserMock);
412
413
414
415 reset(metaElementNodeMock);
416 expect(metaElementNodeMock.hasProperty(Constants.PROPERTY_NAME)).andReturn(true);
417 expect(metaElementNodeMock.getProperty(Constants.PROPERTY_NAME)).andReturn(
418 EGenericType.class.getSimpleName().contains(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY.getName())
419 ? EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY.getName() : EGenericType.class.getSimpleName());
420 expect(metaElementNodeMock.createRelationshipTo(eGenericTypeNodeMock1, EcoreRelationshipType.INSTANCE)).andReturn(null);
421 replay(metaElementNodeMock);
422
423 reset(metaEcoreSubNodesIteratorMock);
424 expect(metaEcoreSubNodesIteratorMock.hasNext()).andReturn(true);
425 expect(metaEcoreSubNodesIteratorMock.next()).andReturn(metaElementNodeMock);
426
427
428 expect(metaEcoreSubNodesIteratorMock.next()).andReturn(metaElementNodeMock);
429 replay(metaEcoreSubNodesIteratorMock);
430
431 reset(metaEcoreSubNodesTraverserMock);
432 expect(metaEcoreSubNodesTraverserMock.iterator()).andReturn(metaEcoreSubNodesIteratorMock);
433
434 expect(metaEcoreSubNodesTraverserMock.iterator()).andReturn(metaEcoreSubNodesIteratorMock);
435 replay(metaEcoreSubNodesTraverserMock);
436
437 reset(metaEcoreNodeMock);
438 expect(metaEcoreNodeMock.getProperty(Constants.PROPERTY_NS_URI)).andReturn(EcorePackage.eNS_URI);
439 expect(
440 metaEcoreNodeMock.traverse(Order.BREADTH_FIRST, StopEvaluator.END_OF_GRAPH, ReturnableEvaluator.ALL_BUT_START_NODE,
441 EcoreRelationshipType.CONTAINS, Direction.OUTGOING)).andReturn(metaEcoreSubNodesTraverserMock);
442
443 expect(metaEcoreNodeMock.getProperty(Constants.PROPERTY_NS_URI)).andReturn(modelUri);
444
445
446
447
448
449 replay(metaEcoreNodeMock);
450
451 reset(metaEcoreRelMock);
452 expect(metaEcoreRelMock.getEndNode()).andReturn(metaEcoreNodeMock);
453 replay(metaEcoreRelMock);
454
455 reset(aEmptyNodeMock);
456 expect(aEmptyNodeMock.getProperty(Constants.PROPERTY_NS_URI)).andReturn(modelUri);
457 expect(aEmptyNodeMock.getProperty(Constants.PROPERTY_NS_URI)).andReturn(modelUri);
458 expect(
459 aEmptyNodeMock.traverse(Order.BREADTH_FIRST, StopEvaluator.DEPTH_ONE, ReturnableEvaluator.ALL_BUT_START_NODE,
460 EcoreRelationshipType.CONTAINS, Direction.OUTGOING)).andReturn(aEmptySubNodesTraverserMock);
461
462 replay(aEmptyNodeMock);
463
464 reset(aEmptyRelMock);
465 expect(aEmptyRelMock.getEndNode()).andReturn(aEmptyNodeMock);
466 expect(aEmptyRelMock.getEndNode()).andReturn(aEmptyNodeMock);
467 replay(aEmptyRelMock);
468
469 reset(subRefIteratorMock);
470 expect(subRefIteratorMock.hasNext()).andReturn(true);
471 expect(subRefIteratorMock.next()).andReturn(aEmptyRelMock);
472 expect(subRefIteratorMock.hasNext()).andReturn(true);
473 expect(subRefIteratorMock.next()).andReturn(metaEcoreRelMock);
474 expect(subRefIteratorMock.hasNext()).andReturn(true);
475 expect(subRefIteratorMock.next()).andReturn(aEmptyRelMock);
476 replay(subRefIteratorMock);
477
478 reset(subRefIterableMock);
479 expect(subRefIterableMock.iterator()).andReturn(subRefIteratorMock);
480 expect(subRefIterableMock.iterator()).andReturn(subRefIteratorMock);
481 replay(subRefIterableMock);
482
483 reset(subRefNodeMock);
484 expect(subRefNodeMock.getRelationships(Direction.OUTGOING)).andReturn(subRefIterableMock);
485 expect(subRefNodeMock.getRelationships(Direction.OUTGOING)).andReturn(subRefIterableMock);
486 replay(subRefNodeMock);
487
488 reset(ref2SubrefRelMock);
489 expect(ref2SubrefRelMock.getEndNode()).andReturn(subRefNodeMock);
490 expect(ref2SubrefRelMock.getEndNode()).andReturn(subRefNodeMock);
491 replay(ref2SubrefRelMock);
492
493 reset(refIteratorMock);
494 expect(refIteratorMock.hasNext()).andReturn(true);
495 expect(refIteratorMock.next()).andReturn(ref2SubrefRelMock);
496 expect(refIteratorMock.hasNext()).andReturn(true);
497 expect(refIteratorMock.next()).andReturn(ref2SubrefRelMock);
498 replay(refIteratorMock);
499
500 reset(refIterableMock);
501 expect(refIterableMock.iterator()).andReturn(refIteratorMock);
502 expect(refIterableMock.iterator()).andReturn(refIteratorMock);
503 replay(refIterableMock);
504
505 reset(refNodeMock);
506 expect(refNodeMock.getRelationships(EcoreRelationshipType.RESOURCES, Direction.OUTGOING)).andReturn(refIterableMock);
507 expect(refNodeMock.getRelationships(EcoreRelationshipType.RESOURCES, Direction.OUTGOING)).andReturn(refIterableMock);
508 replay(refNodeMock);
509
510 reset(neoMock);
511 expect(neoMock.getReferenceNode()).andReturn(refNodeMock);
512 expect(neoMock.getReferenceNode()).andReturn(refNodeMock);
513 replay(neoMock);
514
515
516
517
518
519
520
521
522
523
524
525
526 verify(ePackageMock1);
527 verify(ePackageModelNodeTraverserMock);
528 verify(ePackageNodeMock1);
529 verify(aEmptySubNodesTraverserMock);
530 verify(aEmptyElementNodeMock);
531 verify(eClassifierMock1, eClassifierNodeMock1);
532 verify(eGenericTypeNodeMock1, eGenericTypeMock1, eGenericTypeIteratorMock, eGenericTypeListMock);
533
534 }
535 }