Exemple #1
0
 public function testNodeFindClosestBridgeServer()
 {
     $localNode = new Node();
     $localNode->setIdHexStr('10000001-2002-4004-8008-100000000001');
     $table = new Table();
     $table->setLocalNode($localNode);
     $node_a = new Node();
     $node_a->setIdHexStr('10000001-2002-4004-8008-010000000002');
     $table->nodeEnclose($node_a);
     $node_b = new Node();
     $node_b->setIdHexStr('10000001-2002-4004-8008-010000000004');
     $table->nodeEnclose($node_b);
     $node_c = new Node();
     $node_c->setIdHexStr('10000001-2002-4004-8008-010000000008');
     $table->nodeEnclose($node_c);
     $node_d = new Node();
     $node_d->setIdHexStr('10000001-2002-4004-8008-010000000010');
     $table->nodeEnclose($node_d);
     $node_e = new Node();
     $node_e->setIdHexStr('10000001-2002-4004-8008-020000000008');
     $nodes = $table->nodeFindClosestBridgeServer($node_e);
     $this->assertEquals(array(), $nodes);
     $node_a->setBridgeServer(true);
     $nodes = $table->nodeFindClosestBridgeServer($node_e);
     $this->assertEquals(array($node_a), $nodes);
     $node_b->setBridgeServer(true);
     $node_d->setBridgeServer(true);
     $nodes = $table->nodeFindClosestBridgeServer($node_e);
     $this->assertEquals(array($node_a, $node_b, $node_d), $nodes);
 }