private function GivenATrackerHierarchy() { $hierarchy = new Tracker_Hierarchy(); $hierarchy->addRelationship(112, 111); $hierarchy->addRelationship(111, 113); $hierarchy->addRelationship(201, 202); return $hierarchy; }
public function itReturnsLastlevelTrackerIds() { $hierarchy = new Tracker_Hierarchy(); $grand_pa = 11; $papa = 222; $child = 3333; $grand_uncle = 55; $uncle = 444; $hierarchy->addRelationship($grand_pa, $papa); $hierarchy->addRelationship($grand_pa, $uncle); $hierarchy->addRelationship($papa, $child); $hierarchy->addRelationship(null, $grand_uncle); $expected = array($grand_uncle, $uncle, $child); $result = $hierarchy->getLastLevelTrackerIds(); sort($expected); sort($result); $this->assertEqual($expected, $result); }
public function itReturnsTrackersFromTopToBottomAndTrackerNotInHierarchyAtTheEnd() { $hierarchy = new Tracker_Hierarchy(); $hierarchy->addRelationship(112, 113); $hierarchy->addRelationship(111, 112); $this->assertEqual(array(111, 112, 113, 667, 668, 666), $hierarchy->sortTrackerIds(array(667, 111, 666, 112, 668, 113))); }
/** * If no other trackers were found in hierarchy, returns the tracker alone in hierarchy * * @param array $tracker_ids * @param Tracker_Hierarchy $hierarchy * * @return \Tracker_Hierarchy */ private function fixSingleHierarchy(array $tracker_ids, Tracker_Hierarchy $hierarchy) { if (count($tracker_ids) == 1 && !$hierarchy->flatten()) { $hierarchy->addRelationship($tracker_ids[0], 0); } return $hierarchy; }