Пример #1
0
 /**
  * Returns the least of the passed in price and the price with this discount applied, or null
  * if this discounted price is larger than the existing one. This can then be used in extension
  * call to find the least discounted price.
  *
  * @param Price $amount
  * @return Price|null
  */
 public function provideLeastAmount(Price $amount)
 {
     /** @var StreakDiscountType $discountType */
     if (($discountType = $this->owner->StreakDiscountType()) && $discountType->exists()) {
         $discounted = $discountType->discountedAmount($amount);
         $res = Zend_Locale_Math::Comp($amount->getAmount(), $discounted->getAmount());
         if ($res) {
             return $discounted;
         }
     }
     return null;
 }
Пример #2
0
 /**
  * Returns the least of the passed in price and the price with this discount applied, or null
  * if this discounted price is larger than the existing one. This can then be used in extension
  * call to find the least discounted price.
  *
  * @param Price $amount
  * @param  number $discountAmount
  * @return bool
  */
 public function provideLeastAmount(Price $amount, $discountAmount)
 {
     if (!$discountAmount) {
         return false;
     }
     $discounted = self::calc_discounted_amount($amount, $discountAmount);
     $res = Zend_Locale_Math::Comp($amount->getAmount(), $discounted->getAmount());
     if ($res) {
         return $discounted;
     }
     return null;
 }
Пример #3
0
 public function testComparisonWithBCMathAndExponent()
 {
     if (!extension_loaded('bcmath')) {
         $this->markTestSkipped('BCMath extension not loaded, test skipped');
         return;
     }
     $this->assertEquals('1', Zend_Locale_Math::Comp('1e3', 2));
     $this->assertEquals('-1', Zend_Locale_Math::Comp(2, '1e3'));
     $this->assertEquals('0', Zend_Locale_Math::Comp('1e3', '1e3'));
 }