function testinterestPayment()
 {
     // various random calculations
     $this->assertTrue(abs(-63.462189 - Math_Finance::interestPayment(0.1 / 12, 3, 3 * 12, 8000)) < FINANCE_PRECISION);
     $this->assertTrue(abs(-46.617168 - Math_Finance::interestPayment(0.1 / 12, 13, 3 * 12, 8000)) < FINANCE_PRECISION);
     $this->assertTrue(abs(-8.428265 - Math_Finance::interestPayment(0.1 / 12, 33, 3 * 12, 8000)) < FINANCE_PRECISION);
     $this->assertTrue(abs(-62.937708 - Math_Finance::interestPayment(0.1 / 12, 3, 3 * 12, 8000, 0, FINANCE_PAY_BEGIN)) < FINANCE_PRECISION);
     // cannot pass a type differenet from 0 and 1
     $this->assertType('object', Math_Finance::interestPayment(0.1 / 12, 3, 3 * 12, 8000, 0, 2));
 }