コード例 #1
0
 function testmodifiedInternalRateOfReturn()
 {
     // various random calculations
     $this->assertTrue(abs(0.126094 - Math_Finance::modifiedInternalRateOfReturn(array(-120000, 39000, 30000, 21000, 37000, 46000), 0.1, 0.12)) < FINANCE_PRECISION);
     $this->assertTrue(abs(-0.048044 - Math_Finance::modifiedInternalRateOfReturn(array(-120000, 39000, 30000, 21000), 0.1, 0.12)) < FINANCE_PRECISION);
     $this->assertTrue(abs(0.134759 - Math_Finance::modifiedInternalRateOfReturn(array(-120000, 39000, 30000, 21000, 37000, 46000), 0.1, 0.14)) < FINANCE_PRECISION);
     // cash flow series must be an array
     $this->assertType('object', Math_Finance::modifiedInternalRateOfReturn(-70000, 12000, 15000, 18000, 21000, 0.1, 0.12));
     // cash flow must contain at least one positive value and one negative value
     $this->assertType('object', Math_Finance::modifiedInternalRateOfReturn(array(70000, 12000, 15000, 18000, 21000), 0.1, 0.12));
 }