public function testPositiveDuration()
 {
     $duration = new Duration('P3Y4DT6H8M');
     // 2 years, 4 days, 6 hours, 8 minutes.
     $this->assertEquals(3, $duration->getYears());
     $this->assertEquals(4, $duration->getDays());
     $this->assertEquals(6, $duration->getHours());
     $this->assertEquals(8, $duration->getMinutes());
     $this->assertEquals(0, $duration->getMonths());
     $this->assertEquals(0, $duration->getSeconds());
 }
 /**
  * Whether the duration described by this Duration object is longer than or
  * equal to the one described by $duration.
  * 
  * @param Duration $duration A Duration object to compare with this one.
  * @return boolean
  */
 public function longerThanOrEquals(Duration $duration)
 {
     if ($this->getYears() < $duration->getYears()) {
         return false;
     } else {
         if ($this->getMonths() < $duration->getMonths()) {
             return false;
         } else {
             if ($this->getDays() < $duration->getDays()) {
                 return false;
             } else {
                 if ($this->getHours() < $duration->getHours()) {
                     return false;
                 } else {
                     if ($this->getMinutes() < $duration->getMinutes()) {
                         return false;
                     } else {
                         if ($this->getSeconds() < $duration->getSeconds()) {
                             return false;
                         } else {
                             return true;
                         }
                     }
                 }
             }
         }
     }
 }