/** * Returns nodes found during depth-first-search traversal of tree with nested sets numbering. * * @param Tx_PtExtbase_Tree_NestedSetTreeInterface $tree * @return array<Tx_PtExtbase_Tree_NestedSetNodeInterface> */ public function traverseTreeAndGetNodes(Tx_PtExtbase_Tree_NestedSetTreeInterface $tree) { // TODO we should be able to pass tree here - not root of tree... $this->traverseTreeDfs($tree); $nodes = $this->nestedSetVisitor->getVisitedNodes(); return $nodes; }
/** @test */ public function visitorSetsLeftAndRightValuesCorrectly() { $visitor = new Tx_PtExtbase_Tree_NestedSetVisitor(); $node = new Tx_PtExtbase_Tree_Node(); $index = 1; $level = 1; $visitor->doFirstVisit($node, $index, $level); $this->assertEquals($index, 1); $this->assertEquals($level, 1); $index = 6; $level = 1; $visitor->doLastVisit($node, $index, $level); $this->assertEquals($index, 6); $this->assertEquals($level, 1); $this->assertEquals($node->getLft(), 1); $this->assertEquals($node->getRgt(), 6); }