function testGetLevel() { $menu = new OA_Admin_Menu(); $sections = $this->generateSections(20, 1); //build hierarchy $menu->add($sections[0]); $parentId = $sections[0]->getId(); for ($i = 1; $i < count($sections); $i++) { $menu->addTo($parentId, $sections[$i]); $parentId = $sections[$i]->getId(); } //get level of a non existent section $level = $menu->getLevel("some-nonexistent-section-id"); $this->assertNotNull($level); $this->assertEqual(-1, $level); //get level of first level section (should be 0) $level = $menu->getLevel($sections[0]->getId()); $this->assertNotNull($level); $this->assertEqual(0, $level); //get other parents for ($i = 0; $i < count($sections); $i++) { $level = $menu->getLevel($sections[$i]->getId()); $this->assertNotNull($level); $this->assertEqual($i, $level); } }