/** * Gets the number of sharers allowed. * * Method which returns the number of sharers that are permitted * given a specified cover amount. * * @param Zend_Currency $coverAmount * The main cover amount on the TCI+ policy. * * @return integer * Returns the number of sharers allowed on the $coverAmount given. */ public function getNoOfSharersAllowed($coverAmount) { $params = Zend_Registry::get('params'); //Read in the lower contents bands. $bandLower = array(); $bandLower[] = new Zend_Currency(array('value' => $params->sharers->band0->lower, 'precision' => 0)); $bandLower[] = new Zend_Currency(array('value' => $params->sharers->band1->lower, 'precision' => 0)); $bandLower[] = new Zend_Currency(array('value' => $params->sharers->band2->lower, 'precision' => 0)); $bandLower[] = new Zend_Currency(array('value' => $params->sharers->band3->lower, 'precision' => 0)); //Read in the upper contents bands. $bandUpper = array(); $bandUpper[] = new Zend_Currency(array('value' => $params->sharers->band0->upper, 'precision' => 0)); $bandUpper[] = new Zend_Currency(array('value' => $params->sharers->band1->upper, 'precision' => 0)); $bandUpper[] = new Zend_Currency(array('value' => $params->sharers->band2->upper, 'precision' => 0)); $bandUpper[] = new Zend_Currency(array('value' => $params->sharers->band3->upper, 'precision' => 0)); $numberPermitted = array(); $numberPermitted[] = $params->sharers->numberPermitted->band0; $numberPermitted[] = $params->sharers->numberPermitted->band1; $numberPermitted[] = $params->sharers->numberPermitted->band2; $numberPermitted[] = $params->sharers->numberPermitted->band3; //Zero sharers by default until the cover amount is understood. $returnVal = 0; for ($i = 0; $i < count($bandLower); $i++) { $bandFound = false; if ($coverAmount->isMore($bandLower[$i]) && $coverAmount->isLess($bandUpper[$i])) { $bandFound = true; } else { if ($coverAmount->equals($bandLower[$i]) || $coverAmount->equals($bandUpper[$i])) { $bandFound = true; } } if ($bandFound) { $returnVal = $numberPermitted[$i]; break; } } return $returnVal; }
/** * IsLess values */ public function testIsLessValues() { $currency = new Zend_Currency(array('currency' => 'EUR', 'locale' => 'de_AT', 'value' => 100)); $currency2 = new Zend_Currency(array('currency' => 'EUR', 'locale' => 'de_AT', 'value' => 100)); $this->assertFalse($currency->isLess($currency2)); $currency3 = new Zend_Currency(array('currency' => 'EUR', 'locale' => 'de_AT', 'value' => 101)); $this->assertTrue($currency->isLess($currency3)); }