/** * @test */ public function testAddaTranche() { $start = new \DateTime("2012-07-08"); $end = new \DateTime("2015-11-15"); $testLoan = new Loan($start, $end); $aParam = array('interest' => 3, 'maxAmount' => 1000); $testLoan->addTranche('test', $aParam, 'Tranche'); $this->assertInstanceOf('Lendinvest\\Model\\Products\\TrancheSimple', $testLoan->aProducts['test']); }
public function testTrancheInterestRate() { $loan = new Loan(); $loan->setStartDate(new \DateTime("2015-10-01")); $loan->setEndDate(new \DateTime("2015-10-31")); $percentage = 6; $tranche = new Tranche(); $tranche->setLoan($loan); $tranche->setInterest(new Interest($percentage)); $tranche->setMaxAmount(1000); $interest = $tranche->getInterest(); $this->assertInstanceOf('LendInvest\\Model\\Interest', $interest); $this->assertEquals($percentage, $interest->getPercentage()); $this->assertEquals(0.19, $tranche->getDailyInterestRate()); }
public function testTranchesCanBeAddedToLoan() { $loan = new Loan(); $this->assertFalse($loan->hasTranches()); $loan->addTranche(new Tranche()); $loan->addTranche(new Tranche()); $loan->addTranche(new Tranche()); $this->assertTrue($loan->hasTranches()); $this->assertEquals(3, count($loan->getTranches())); }
<?php /** * Created by PhpStorm. * User: pliski * Date: 06/12/2015 * Time: 16:45 */ namespace Lendinvest; use Lendinvest\Model; //Instancing Loan and tranches $dateStart = new \DateTime("2015-10-01"); $dateEnd = new \DateTime("2015-11-15"); $loan = new Model\Loan($dateStart, $dateEnd); $aParams = array('interest' => 3, 'maxAmount' => 1000); $loan->addTranche("TrancheA", $aParams); $aParams = array('interest' => 6, 'maxAmount' => 1000); $loan->addTranche("TrancheB", $aParams); //Investors $aInvestors = array(); for ($i = 1; $i <= 4; $i++) { $aInvestors[$i] = new Model\Investor(1000, $i); } //Stream option $aInvestors[1]->addStream('Sms'); $aInvestors[2]->addStream('Sms'); $aInvestors[3]->addStream('eMail'); $aInvestors[4]->addStream('eMail'); $_SESSION['loan'] = $loan; $_SESSION['investors'] = $aInvestors;