public function testDfs() { $model = new \Magento\Framework\Data\Graph([1, 2, 3, 4, 5], [[1, 2], [2, 3], [4, 5]]); // directional $this->assertEquals([1, 2, 3], $model->dfs(1, 3)); $this->assertEquals([], $model->dfs(3, 1)); $this->assertEquals([4, 5], $model->dfs(4, 5)); $this->assertEquals([], $model->dfs(1, 5)); // inverse $this->assertEquals([3, 2, 1], $model->dfs(3, 1, \Magento\Framework\Data\Graph::INVERSE)); // non-directional $model = new \Magento\Framework\Data\Graph([1, 2, 3], [[2, 1], [2, 3]]); $this->assertEquals([], $model->dfs(1, 3, \Magento\Framework\Data\Graph::DIRECTIONAL)); $this->assertEquals([], $model->dfs(3, 1, \Magento\Framework\Data\Graph::INVERSE)); $this->assertEquals([1, 2, 3], $model->dfs(1, 3, \Magento\Framework\Data\Graph::NON_DIRECTIONAL)); }
public function testDfs() { $model = new \Magento\Framework\Data\Graph(array(1, 2, 3, 4, 5), array(array(1, 2), array(2, 3), array(4, 5))); // directional $this->assertEquals(array(1, 2, 3), $model->dfs(1, 3)); $this->assertEquals(array(), $model->dfs(3, 1)); $this->assertEquals(array(4, 5), $model->dfs(4, 5)); $this->assertEquals(array(), $model->dfs(1, 5)); // inverse $this->assertEquals(array(3, 2, 1), $model->dfs(3, 1, \Magento\Framework\Data\Graph::INVERSE)); // non-directional $model = new \Magento\Framework\Data\Graph(array(1, 2, 3), array(array(2, 1), array(2, 3))); $this->assertEquals(array(), $model->dfs(1, 3, \Magento\Framework\Data\Graph::DIRECTIONAL)); $this->assertEquals(array(), $model->dfs(3, 1, \Magento\Framework\Data\Graph::INVERSE)); $this->assertEquals(array(1, 2, 3), $model->dfs(1, 3, \Magento\Framework\Data\Graph::NON_DIRECTIONAL)); }