public function testSignViaRange()
 {
     for ($i = 1; $i <= 12; $i++) {
         $this->out(ZodiacLib::signs($i) . BR);
         $range = $this->Zodiac->getRange($i);
         $is = $this->Zodiac->getSign($range[0][0], $range[0][1]);
         $this->assertSame($is, $i);
         $is = $this->Zodiac->getSign($range[1][0], $range[1][1]);
         $this->assertSame($is, $i);
         // min-1
         $month = $range[0][0];
         $day = $range[0][1] - 1;
         $is = $this->Zodiac->getSign($month, $day);
         $ii = $i;
         if ($ii == 1) {
             $ii = 13;
         }
         $this->assertSame($is, $ii - 1);
         // max+1
         $month = $range[1][0];
         $day = $range[1][1] + 1;
         $ii = $i;
         if ($ii == 12) {
             $ii = 0;
         }
         $is = $this->Zodiac->getSign($month, $day);
         $this->assertSame($is, $ii + 1);
     }
 }
Beispiel #2
0
 /**
  * Returns age by horoscope info.
  *
  * @param int $year Year
  * @param int $sign Sign
  * @return int|array Age
  */
 public static function ageByHoroscope($year, $sign)
 {
     App::uses('ZodiacLib', 'Tools.Misc');
     $Zodiac = new ZodiacLib();
     $range = $Zodiac->getRange($sign);
     if ($sign == ZodiacLib::SIGN_CAPRICORN) {
         // undefined
         return [date('Y') - $year - 1, date('Y') - $year];
     }
     if ($range[0][0] > date('m') || $range[0][0] == date('m') && $range[0][1] > date('d')) {
         // not over
         return date('Y') - $year - 1;
     }
     if ($range[1][0] < date('m') || $range[1][0] == date('m') && $range[1][1] <= date('d')) {
         // over
         return date('Y') - $year;
     }
     return [date('Y') - $year - 1, date('Y') - $year];
 }
Beispiel #3
0
 /**
  * 2011-11-22 lb
  */
 public function ageByHoroscope($year, $sign)
 {
     App::uses('ZodiacLib', 'Tools.Misc');
     $Zodiac = new ZodiacLib();
     $range = $Zodiac->getRange($sign);
     // undefined
     if ($sign == ZodiacLib::SIGN_CAPRICORN) {
         return array(date('Y') - $year - 1, date('Y') - $year);
     } elseif ($range[0][0] > date('m') || $range[0][0] == date('m') && $range[0][1] > date('d')) {
         return date('Y') - $year - 1;
     } elseif ($range[1][0] < date('m') || $range[1][0] == date('m') && $range[1][1] <= date('d')) {
         return date('Y') - $year;
     } else {
         return array(date('Y') - $year - 1, date('Y') - $year);
     }
 }