You are here

protected function GraphTest::assertReversePaths in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Component/Graph/GraphTest.php \Drupal\Tests\Component\Graph\GraphTest::assertReversePaths()
  2. 10 core/tests/Drupal/Tests/Component/Graph/GraphTest.php \Drupal\Tests\Component\Graph\GraphTest::assertReversePaths()

Verify expected reverse paths in a graph.

Parameters

$graph: A graph array processed by \Drupal\Component\Graph\Graph::searchAndSort()

$expected_reverse_paths: An associative array containing vertices with their expected reverse paths.

1 call to GraphTest::assertReversePaths()
GraphTest::testDepthFirstSearch in core/tests/Drupal/Tests/Component/Graph/GraphTest.php
Tests depth-first-search features.

File

core/tests/Drupal/Tests/Component/Graph/GraphTest.php, line 129

Class

GraphTest
@coversDefaultClass \Drupal\Component\Graph\Graph @group Graph

Namespace

Drupal\Tests\Component\Graph

Code

protected function assertReversePaths($graph, $expected_reverse_paths) {
  foreach ($expected_reverse_paths as $vertex => $paths) {

    // Build an array with keys = $paths and values = TRUE.
    $expected = array_fill_keys($paths, TRUE);
    $result = isset($graph[$vertex]['reverse_paths']) ? $graph[$vertex]['reverse_paths'] : [];
    $this
      ->assertEquals($expected, $result, sprintf('Expected reverse paths for vertex %s: %s, got %s', $vertex, $this
      ->displayArray($expected, TRUE), $this
      ->displayArray($result, TRUE)));
  }
}