1717use Smoren \GraphTools \Structs \FilterConfig ;
1818use Smoren \GraphTools \Structs \Interfaces \TraverseContextInterface ;
1919use Smoren \GraphTools \Structs \TraverseContext ;
20- use Smoren \NestedAccessor \Helpers \NestedHelper ;
2120
2221class PreloadedGraphTraverseTest extends Unit
2322{
@@ -202,22 +201,22 @@ public function testWeb()
202201 );
203202 $ branchMap = TraverseHelper::getBranches ($ contexts );
204203 $ this ->assertCount (7 , $ branchMap );
205- $ this ->assertEquals ([1 , 2 , 3 , 4 , 1 ], NestedHelper:: get ($ branchMap [0 ], 'id ' ));
206- $ this ->assertEquals ([1 , 5 , 6 , 2 , 3 , 4 , 1 ], NestedHelper:: get ($ branchMap [1 ], 'id ' ));
207- $ this ->assertEquals ([1 , 5 , 3 , 4 , 1 ], NestedHelper:: get ($ branchMap [2 ], 'id ' ));
208- $ this ->assertEquals ([1 , 2 , 3 , 4 , 5 , 6 , 2 ], NestedHelper:: get ($ branchMap [3 ], 'id ' ));
209- $ this ->assertEquals ([1 , 5 , 3 , 4 , 5 ], NestedHelper:: get ($ branchMap [4 ], 'id ' ));
210- $ this ->assertEquals ([1 , 2 , 3 , 4 , 5 , 3 ], NestedHelper:: get ($ branchMap [5 ], 'id ' ));
211- $ this ->assertEquals ([1 , 5 , 6 , 2 , 3 , 4 , 5 ], NestedHelper:: get ($ branchMap [6 ], 'id ' ));
204+ $ this ->assertEquals ([1 , 2 , 3 , 4 , 1 ], $ this -> getFromArray ($ branchMap [0 ], 'id ' ));
205+ $ this ->assertEquals ([1 , 5 , 6 , 2 , 3 , 4 , 1 ], $ this -> getFromArray ($ branchMap [1 ], 'id ' ));
206+ $ this ->assertEquals ([1 , 5 , 3 , 4 , 1 ], $ this -> getFromArray ($ branchMap [2 ], 'id ' ));
207+ $ this ->assertEquals ([1 , 2 , 3 , 4 , 5 , 6 , 2 ], $ this -> getFromArray ($ branchMap [3 ], 'id ' ));
208+ $ this ->assertEquals ([1 , 5 , 3 , 4 , 5 ], $ this -> getFromArray ($ branchMap [4 ], 'id ' ));
209+ $ this ->assertEquals ([1 , 2 , 3 , 4 , 5 , 3 ], $ this -> getFromArray ($ branchMap [5 ], 'id ' ));
210+ $ this ->assertEquals ([1 , 5 , 6 , 2 , 3 , 4 , 5 ], $ this -> getFromArray ($ branchMap [6 ], 'id ' ));
212211
213212 $ contexts = $ traverse ->generate (
214213 $ repo ->getVertexById (1 ),
215214 new TransparentTraverseFilter ([FilterConfig::PREVENT_LOOP_PASS , FilterConfig::PREVENT_REPEAT_HANDLE ])
216215 );
217216 $ branchMap = TraverseHelper::getBranches ($ contexts );
218217 $ this ->assertCount (2 , $ branchMap );
219- $ this ->assertEquals ([1 , 2 , 3 , 4 ], NestedHelper:: get ($ branchMap [0 ], 'id ' ));
220- $ this ->assertEquals ([1 , 5 , 6 ], NestedHelper:: get ($ branchMap [1 ], 'id ' ));
218+ $ this ->assertEquals ([1 , 2 , 3 , 4 ], $ this -> getFromArray ($ branchMap [0 ], 'id ' ));
219+ $ this ->assertEquals ([1 , 5 , 6 ], $ this -> getFromArray ($ branchMap [1 ], 'id ' ));
221220
222221 // TODO test for only vertex or connections types
223222 }
@@ -300,9 +299,9 @@ public function testStopBranch()
300299 );
301300 $ branchMap = TraverseHelper::getBranches ($ contexts );
302301 $ this ->assertCount (3 , $ branchMap );
303- $ this ->assertEquals ([1 , 2 , 3 , 4 ], NestedHelper:: get ($ branchMap [0 ], 'id ' ));
304- $ this ->assertEquals ([1 , 2 , 5 , 6 ], NestedHelper:: get ($ branchMap [1 ], 'id ' ));
305- $ this ->assertEquals ([1 , 2 , 7 , 8 ], NestedHelper:: get ($ branchMap [2 ], 'id ' ));
302+ $ this ->assertEquals ([1 , 2 , 3 , 4 ], $ this -> getFromArray ($ branchMap [0 ], 'id ' ));
303+ $ this ->assertEquals ([1 , 2 , 5 , 6 ], $ this -> getFromArray ($ branchMap [1 ], 'id ' ));
304+ $ this ->assertEquals ([1 , 2 , 7 , 8 ], $ this -> getFromArray ($ branchMap [2 ], 'id ' ));
306305
307306 $ contexts = $ traverse ->generate (
308307 $ repo ->getVertexById (1 ),
@@ -317,9 +316,9 @@ function(TraverseContext $context, Generator $contexts) {
317316 }
318317 );
319318 $ this ->assertCount (3 , $ branchMap );
320- $ this ->assertEquals ([1 , 2 , 3 ], NestedHelper:: get ($ branchMap [0 ], 'id ' ));
321- $ this ->assertEquals ([1 , 2 , 5 , 6 ], NestedHelper:: get ($ branchMap [1 ], 'id ' ));
322- $ this ->assertEquals ([1 , 2 , 7 , 8 ], NestedHelper:: get ($ branchMap [2 ], 'id ' ));
319+ $ this ->assertEquals ([1 , 2 , 3 ], $ this -> getFromArray ($ branchMap [0 ], 'id ' ));
320+ $ this ->assertEquals ([1 , 2 , 5 , 6 ], $ this -> getFromArray ($ branchMap [1 ], 'id ' ));
321+ $ this ->assertEquals ([1 , 2 , 7 , 8 ], $ this -> getFromArray ($ branchMap [2 ], 'id ' ));
323322
324323 $ filter = new ConstTraverseFilter (
325324 (new FilterCondition ())->excludeVertexTypes ([2 ]),
@@ -329,8 +328,8 @@ function(TraverseContext $context, Generator $contexts) {
329328 $ contexts = $ traverse ->generate ($ repo ->getVertexById (1 ), $ filter );
330329 $ branchMap = TraverseHelper::getBranches ($ contexts );
331330 $ this ->assertCount (2 , $ branchMap );
332- $ this ->assertEquals ([1 , 2 , 5 , 6 ], NestedHelper:: get ($ branchMap [0 ], 'id ' ));
333- $ this ->assertEquals ([1 , 2 , 7 , 8 ], NestedHelper:: get ($ branchMap [1 ], 'id ' ));
331+ $ this ->assertEquals ([1 , 2 , 5 , 6 ], $ this -> getFromArray ($ branchMap [0 ], 'id ' ));
332+ $ this ->assertEquals ([1 , 2 , 7 , 8 ], $ this -> getFromArray ($ branchMap [1 ], 'id ' ));
334333
335334 $ contexts = $ traverse ->generate (
336335 $ repo ->getVertexById (1 ),
@@ -345,9 +344,9 @@ function(TraverseContext $context, Generator $contexts) {
345344 }
346345 );
347346 $ this ->assertCount (3 , $ branchMap );
348- $ this ->assertEquals ([1 , 2 , 3 , 4 ], NestedHelper:: get ($ branchMap [0 ], 'id ' ));
349- $ this ->assertEquals ([1 , 2 , 5 ], NestedHelper:: get ($ branchMap [1 ], 'id ' ));
350- $ this ->assertEquals ([1 , 2 , 7 , 8 ], NestedHelper:: get ($ branchMap [2 ], 'id ' ));
347+ $ this ->assertEquals ([1 , 2 , 3 , 4 ], $ this -> getFromArray ($ branchMap [0 ], 'id ' ));
348+ $ this ->assertEquals ([1 , 2 , 5 ], $ this -> getFromArray ($ branchMap [1 ], 'id ' ));
349+ $ this ->assertEquals ([1 , 2 , 7 , 8 ], $ this -> getFromArray ($ branchMap [2 ], 'id ' ));
351350
352351 $ filter = new ConstTraverseFilter (
353352 (new FilterCondition ())->excludeVertexTypes ([3 ]),
@@ -357,8 +356,8 @@ function(TraverseContext $context, Generator $contexts) {
357356 $ contexts = $ traverse ->generate ($ repo ->getVertexById (1 ), $ filter );
358357 $ branchMap = TraverseHelper::getBranches ($ contexts );
359358 $ this ->assertCount (2 , $ branchMap );
360- $ this ->assertEquals ([1 , 2 , 3 , 4 ], NestedHelper:: get ($ branchMap [0 ], 'id ' ));
361- $ this ->assertEquals ([1 , 2 , 7 , 8 ], NestedHelper:: get ($ branchMap [1 ], 'id ' ));
359+ $ this ->assertEquals ([1 , 2 , 3 , 4 ], $ this -> getFromArray ($ branchMap [0 ], 'id ' ));
360+ $ this ->assertEquals ([1 , 2 , 7 , 8 ], $ this -> getFromArray ($ branchMap [1 ], 'id ' ));
362361
363362 $ contexts = $ traverse ->generate (
364363 $ repo ->getVertexById (1 ),
@@ -373,9 +372,9 @@ function(TraverseContext $context, Generator $contexts) {
373372 }
374373 );
375374 $ this ->assertCount (3 , $ branchMap );
376- $ this ->assertEquals ([1 , 2 , 3 ], NestedHelper:: get ($ branchMap [0 ], 'id ' ));
377- $ this ->assertEquals ([1 , 2 , 5 ], NestedHelper:: get ($ branchMap [1 ], 'id ' ));
378- $ this ->assertEquals ([1 , 2 , 7 , 8 ], NestedHelper:: get ($ branchMap [2 ], 'id ' ));
375+ $ this ->assertEquals ([1 , 2 , 3 ], $ this -> getFromArray ($ branchMap [0 ], 'id ' ));
376+ $ this ->assertEquals ([1 , 2 , 5 ], $ this -> getFromArray ($ branchMap [1 ], 'id ' ));
377+ $ this ->assertEquals ([1 , 2 , 7 , 8 ], $ this -> getFromArray ($ branchMap [2 ], 'id ' ));
379378
380379 $ filter = new ConstTraverseFilter (
381380 (new FilterCondition ())->excludeVertexTypes ([2 , 3 ]),
@@ -385,7 +384,7 @@ function(TraverseContext $context, Generator $contexts) {
385384 $ contexts = $ traverse ->generate ($ repo ->getVertexById (1 ), $ filter );
386385 $ branchMap = TraverseHelper::getBranches ($ contexts );
387386 $ this ->assertCount (1 , $ branchMap );
388- $ this ->assertEquals ([1 , 2 , 7 , 8 ], NestedHelper:: get ($ branchMap [0 ], 'id ' ));
387+ $ this ->assertEquals ([1 , 2 , 7 , 8 ], $ this -> getFromArray ($ branchMap [0 ], 'id ' ));
389388 }
390389
391390 public function testWorkflowWithReverseLink ()
@@ -419,17 +418,22 @@ public function testWorkflowWithReverseLink()
419418 );
420419 $ branches = TraverseHelper::getBranches ($ contexts );
421420 $ this ->assertCount (4 , $ branches );
422- $ this ->assertEquals ([1 , 2 , 3 , 5 ], NestedHelper:: get ($ branches [0 ], 'id ' ));
423- $ this ->assertEquals ([1 , 2 , 4 , 5 ], NestedHelper:: get ($ branches [1 ], 'id ' ));
424- $ this ->assertEquals ([1 , 2 , 4 , 6 , 7 ], NestedHelper:: get ($ branches [2 ], 'id ' ));
425- $ this ->assertEquals ([1 , 2 , 4 , 6 , 2 ], NestedHelper:: get ($ branches [3 ], 'id ' ));
421+ $ this ->assertEquals ([1 , 2 , 3 , 5 ], $ this -> getFromArray ($ branches [0 ], 'id ' ));
422+ $ this ->assertEquals ([1 , 2 , 4 , 5 ], $ this -> getFromArray ($ branches [1 ], 'id ' ));
423+ $ this ->assertEquals ([1 , 2 , 4 , 6 , 7 ], $ this -> getFromArray ($ branches [2 ], 'id ' ));
424+ $ this ->assertEquals ([1 , 2 , 4 , 6 , 2 ], $ this -> getFromArray ($ branches [3 ], 'id ' ));
426425
427426 $ filter = new ConstTraverseFilter ((new FilterCondition ())->onlyEdgeTypes ([1 ]));
428427 $ contexts = $ traverse ->generate ($ repo ->getVertexById (1 ), $ filter );
429428 $ branches = TraverseHelper::getBranches ($ contexts );
430429 $ this ->assertCount (3 , $ branches );
431- $ this ->assertEquals ([1 , 2 , 3 , 5 ], NestedHelper::get ($ branches [0 ], 'id ' ));
432- $ this ->assertEquals ([1 , 2 , 4 , 5 ], NestedHelper::get ($ branches [1 ], 'id ' ));
433- $ this ->assertEquals ([1 , 2 , 4 , 6 , 7 ], NestedHelper::get ($ branches [2 ], 'id ' ));
430+ $ this ->assertEquals ([1 , 2 , 3 , 5 ], $ this ->getFromArray ($ branches [0 ], 'id ' ));
431+ $ this ->assertEquals ([1 , 2 , 4 , 5 ], $ this ->getFromArray ($ branches [1 ], 'id ' ));
432+ $ this ->assertEquals ([1 , 2 , 4 , 6 , 7 ], $ this ->getFromArray ($ branches [2 ], 'id ' ));
433+ }
434+
435+ protected function getFromArray (array $ source , string $ key )
436+ {
437+ return array_map (fn ($ item ) => is_array ($ item ) ? $ item [$ key ] : $ item ->{'get ' .ucfirst ($ key )}(), $ source );
434438 }
435439}
0 commit comments