public function dataProvider_TestTraversal()
 {
     $this->transport = $this->getMock('Everyman\\Neo4j\\Transport');
     $this->transport->expects($this->any())->method('getEndpoint')->will($this->returnValue($this->endpoint));
     $this->client = new Client($this->transport);
     $scenarios = array();
     $traversal = new Traversal($this->client);
     $scenarios[] = array($traversal, array());
     $traversal = new Traversal($this->client);
     $traversal->setOrder(Traversal::OrderDepthFirst);
     $scenarios[] = array($traversal, array("order" => "depth_first"));
     $traversal = new Traversal($this->client);
     $traversal->setUniqueness(Traversal::UniquenessNodePath);
     $scenarios[] = array($traversal, array("uniqueness" => "node_path"));
     $traversal = new Traversal($this->client);
     $traversal->setMaxDepth(2);
     $scenarios[] = array($traversal, array("max_depth" => 2));
     $traversal = new Traversal($this->client);
     $traversal->addRelationship('FOOTYPE')->addRelationship('BARTYPE', Relationship::DirectionIn);
     $scenarios[] = array($traversal, array("relationships" => array(array('type' => 'FOOTYPE'), array('type' => 'BARTYPE', 'direction' => 'in'))));
     $traversal = new Traversal($this->client);
     $traversal->setPruneEvaluator('javascript', "position.endNode().getProperty('date')>1234567;");
     $scenarios[] = array($traversal, array("prune_evaluator" => array("language" => "javascript", "body" => "position.endNode().getProperty('date')>1234567;")));
     $traversal = new Traversal($this->client);
     $traversal->setPruneEvaluator(Traversal::PruneNone);
     $scenarios[] = array($traversal, array("prune_evaluator" => array("language" => "builtin", "name" => "none")));
     $traversal = new Traversal($this->client);
     $traversal->setReturnFilter('javascript', "position.endNode().getProperty('date')>1234567;");
     $scenarios[] = array($traversal, array("return_filter" => array("language" => "javascript", "body" => "position.endNode().getProperty('date')>1234567;")));
     $traversal = new Traversal($this->client);
     $traversal->setReturnFilter(Traversal::ReturnAll);
     $scenarios[] = array($traversal, array("return_filter" => array("language" => "builtin", "name" => "all")));
     return $scenarios;
 }