public function testIsValid() { $this->assertTrue(method_exists('Table9Peer', 'isValid'), 'nested_set adds an isValid() method'); $this->assertFalse(Table9Peer::isValid(null), 'isValid() returns false when passed null '); $t1 = new Table9(); $this->assertFalse(Table9Peer::isValid($t1), 'isValid() returns false when passed an empty node object'); $t2 = new Table9(); $t2->setLeftValue(5)->setRightValue(2); $this->assertFalse(Table9Peer::isValid($t2), 'isValid() returns false when passed a node object with left > right'); $t3 = new Table9(); $t3->setLeftValue(5)->setRightValue(5); $this->assertFalse(Table9Peer::isValid($t3), 'isValid() returns false when passed a node object with left = right'); $t4 = new Table9(); $t4->setLeftValue(2)->setRightValue(5); $this->assertTrue(Table9Peer::isValid($t4), 'isValid() returns true when passed a node object with left < right'); }
public function testFindRoot() { $this->assertTrue(method_exists('Table9Query', 'findRoot'), 'nested_set adds a findRoot() method'); Table9Query::create()->deleteAll(); $this->assertNull(Table9Query::create()->findRoot(), 'findRoot() returns null as long as no root node is defined'); $t1 = new Table9(); $t1->setLeftValue(123); $t1->setRightValue(456); $t1->save(); $this->assertNull(Table9Query::create()->findRoot(), 'findRoot() returns null as long as no root node is defined'); $t2 = new Table9(); $t2->setLeftValue(1); $t2->setRightValue(2); $t2->save(); $this->assertEquals(Table9Query::create()->findRoot(), $t2, 'findRoot() retrieves the root node'); }
public function testInsertAsNextSiblingOfExistingObject() { Table9Query::create()->deleteAll(); $t = new Table9(); $t->makeRoot(); $t->save(); $t1 = new Table9(); $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(1, $t1->getLevel()); $t2 = new Table9(); $t2->save(); $t2->insertAsNextSiblingOf($t1); $this->assertEquals(4, $t2->getLeftValue()); $this->assertEquals(5, $t2->getRightValue()); $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(1, $t1->getLevel()); $this->assertEquals(4, $t2->getLeftValue()); $this->assertEquals(5, $t2->getRightValue()); $this->assertEquals(1, $t2->getLevel()); }
public function testAddChild() { Table9Peer::doDeleteAll(); $t1 = new Table9(); $t1->setTitle('t1'); $t1->makeRoot(); $t1->save(); $t2 = new Table9(); $t2->setTitle('t2'); $t1->addChild($t2); $t2->save(); $t3 = new Table9(); $t3->setTitle('t3'); $t1->addChild($t3); $t3->save(); $t4 = new Table9(); $t4->setTitle('t4'); $t2->addChild($t4); $t4->save(); $expected = array('t1' => array(1, 8, 0), 't2' => array(4, 7, 1), 't3' => array(2, 3, 1), 't4' => array(5, 6, 2)); $this->assertEquals($expected, $this->dumpTree(), 'addChild() adds the child and saves it'); }