Exemple #1
0
 private function GivenATrackerHierarchy()
 {
     $hierarchy = new Tracker_Hierarchy();
     $hierarchy->addRelationship(112, 111);
     $hierarchy->addRelationship(111, 113);
     $hierarchy->addRelationship(201, 202);
     return $hierarchy;
 }
Exemple #2
0
 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);
 }
Exemple #3
0
 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;
 }