public function testFindTree()
 {
     list($t1, $t2, $t3, $t4, $t5, $t6, $t7, $t8, $t9, $t10) = $this->initTreeWithScope();
     /* Tree used for tests
     		 Scope 1
     		 t1
     		 |  \
     		 t2 t3
     		    |  \
     		    t4 t5
     		       |  \
     		       t6 t7
     		 Scope 2
     		 t8
     		 | \
     		 t9 t10
     		*/
     $tree = Table10Query::create()->findTree(1);
     $coll = $this->buildCollection(array($t1, $t2, $t3, $t4, $t5, $t6, $t7));
     $this->assertEquals($coll, $tree, 'findTree() retrieves the tree of a scope, ordered by branch');
     $tree = Table10Query::create()->findTree(2);
     $coll = $this->buildCollection(array($t8, $t9, $t10));
     $this->assertEquals($coll, $tree, 'findTree() retrieves the tree of a scope, ordered by branch');
 }
 public function testInsertAsNextSiblingOfExistingObject()
 {
     Table10Query::create()->deleteAll();
     $t = new Table10();
     $t->setScopeValue(34);
     $t->makeRoot();
     $t->save();
     $t1 = new Table10();
     $t1->insertAsFirstChildOf($t);
     $t1->save();
     $this->assertEquals(1, $t->getLeftValue());
     $this->assertEquals(4, $t->getRightValue());
     $this->assertEquals(0, $t->getLevel());
     $this->assertEquals(2, $t1->getLeftValue());
     $this->assertEquals(3, $t1->getRightValue());
     $this->assertEquals(34, $t1->getScopeValue());
     $this->assertEquals(1, $t1->getLevel());
     $t2 = new Table10();
     $t2->save();
     $t2->insertAsNextSiblingOf($t1);
     $this->assertEquals(4, $t2->getLeftValue());
     $this->assertEquals(5, $t2->getRightValue());
     $this->assertEquals(34, $t2->getScopeValue());
     $this->assertEquals(1, $t2->getLevel());
     $t2->save();
     $this->assertEquals(1, $t->getLeftValue());
     $this->assertEquals(6, $t->getRightValue());
     $this->assertEquals(0, $t->getLevel());
     $this->assertEquals(2, $t1->getLeftValue());
     $this->assertEquals(3, $t1->getRightValue());
     $this->assertEquals(34, $t1->getScopeValue());
     $this->assertEquals(1, $t1->getLevel());
     $this->assertEquals(4, $t2->getLeftValue());
     $this->assertEquals(5, $t2->getRightValue());
     $this->assertEquals(34, $t2->getScopeValue());
     $this->assertEquals(1, $t2->getLevel());
 }