public void AdvisedLine() { DateTime start = November(20, 2003); DateTime expiry = November(20, 2010); Loan advisedLine = Loan.NewAdvisedLine(LOAN_AMOUNT, start, expiry, LOW_RISK_RATING); Assert.AreEqual(7.0, advisedLine.Duration(), PENNY_PRECISION, "duration"); Assert.AreEqual(15.75, advisedLine.Capital(), PENNY_PRECISION, "capital"); }
public void RevolverNoPayments() { DateTime start = November(20, 2003); DateTime expiry = November(20, 2010); Loan revolver = Loan.NewRevolver(LOAN_AMOUNT, start, expiry, HIGH_RISK_RATING); Assert.AreEqual(7.0, revolver.Duration(), PENNY_PRECISION, "duration"); Assert.AreEqual(609.00, revolver.Capital(), PENNY_PRECISION, "capital"); }
public void TestTermLoanSamePayments() { Date start = new Date(2003, 11, 20); Date maturity = new Date(2006, 11, 20); Loan termLoan = Loan.NewTermLoan(3000, start, maturity, 1); termLoan.Payment(1000.00, new Date(2004, 11, 20)); termLoan.Payment(1000.00, new Date(2005, 11, 20)); termLoan.Payment(1000.00, new Date(2006, 11, 20)); Assert.AreEqual(2.0, termLoan.Duration(), 0.01); Assert.AreEqual(210.00, termLoan.Capital(), 0.01); }
public void TestRevolverSamePayments() { Date start = new Date(2003, 11, 20); Date maturity = new Date(2006, 11, 20); Loan advisedLine = Loan.NewRevolver(3000, start, maturity, 0); advisedLine.Payment(1000.00, new Date(2004, 11, 20)); advisedLine.Payment(1000.00, new Date(2005, 11, 20)); advisedLine.Payment(1000.00, new Date(2006, 11, 20)); Assert.AreEqual(3.0, advisedLine.Duration(), 0.01); Assert.AreEqual(315, advisedLine.Capital(), 0.01); }
public void TermLoanDifferentPayments() { DateTime start = November(20, 2003); DateTime maturity = November(20, 2006); Loan termLoan = Loan.NewTermLoan(LOAN_AMOUNT, start, maturity, HIGH_RISK_RATING); termLoan.payment(500.00, November(20, 2004)); termLoan.payment(1500.00, November(20, 2005)); termLoan.payment(1000.00, November(20, 2006)); Assert.AreEqual(2.16, termLoan.Duration(), PENNY_PRECISION, "duration"); Assert.AreEqual(227.50, termLoan.Capital(), PENNY_PRECISION, "capital"); }
public void test_advised_line_loan_same_payments() { DateTime start = November(20, 2003); DateTime expiry = November(20, 2007); Loan advisedLineLoan = LoanBuilder.Create(LOAN_AMOUNT, start, expiry, LOW_RISK_TAKING, StrategyEnum.AvisedLine); advisedLineLoan.Payment(1000.00, November(20, 2004)); advisedLineLoan.Payment(1000.00, November(20, 2005)); advisedLineLoan.Payment(1000.00, November(20, 2006)); Assert.Equal(40027, advisedLineLoan.Duration(), (int)TWO_DIGIT_PRECISION); Assert.Equal(1200810, advisedLineLoan.Capital(), (int)TWO_DIGIT_PRECISION); }
public void test_revolver_loan_same_payments() { DateTime start = November(20, 2003); DateTime expiry = November(20, 2007); Loan revolverLoan = LoanBuilder.Create(LOAN_AMOUNT, start, expiry, HIGH_RISK_TAKING, StrategyEnum.Revolver); revolverLoan.Payment(1000.00, November(20, 2004)); revolverLoan.Payment(1000.00, November(20, 2005)); revolverLoan.Payment(1000.00, November(20, 2006)); Assert.Equal(40027, revolverLoan.Duration(), (int)TWO_DIGIT_PRECISION); Assert.Equal(4002700, revolverLoan.Capital(), (int)TWO_DIGIT_PRECISION); }
public void test_term_loan_same_payments() { DateTime start = November(20, 2003); DateTime maturity = November(20, 2006); Loan termLoan = LoanBuilder.Create(LOAN_AMOUNT, start, maturity, HIGH_RISK_TAKING, StrategyEnum.Term); termLoan.Payment(1000.00, November(20, 2004)); termLoan.Payment(1000.00, November(20, 2005)); termLoan.Payment(1000.00, November(20, 2006)); Assert.Equal(20027, termLoan.Duration(), (int)TWO_DIGIT_PRECISION); Assert.Equal(6008100, termLoan.Capital(), (int)TWO_DIGIT_PRECISION); }
public void test_revolver_loan_same_payments() { DateTime start = November(20, 2003); DateTime expiry = November(20, 2007); Loan revolverLoan = Loan.NewRevolver(this.LOAN_AMOUNT, start, expiry, this.HIGH_RISK_TAKING); revolverLoan.Payment(1000.00, November(20, 2004)); revolverLoan.Payment(1000.00, November(20, 2005)); revolverLoan.Payment(1000.00, November(20, 2006)); Assert.Multiple(() => { Assert.AreEqual(40027, revolverLoan.Duration(), this.TWO_DIGIT_PRECISION); Assert.AreEqual(4002700, revolverLoan.Capital(), this.TWO_DIGIT_PRECISION); }); }
public void test_term_loan_same_payments() { DateTime start = November(20, 2003); DateTime maturity = November(20, 2006); Loan termLoan = Loan.NewTermLoan(this.LOAN_AMOUNT, start, maturity, this.HIGH_RISK_TAKING); termLoan.Payment(1000.00, November(20, 2004)); termLoan.Payment(1000.00, November(20, 2005)); termLoan.Payment(1000.00, November(20, 2006)); Assert.Multiple(() => { Assert.AreEqual(20027, termLoan.Duration(), this.TWO_DIGIT_PRECISION); Assert.AreEqual(6008100, termLoan.Capital(), this.TWO_DIGIT_PRECISION); }); }
public void test_advised_line_loan_same_payments() { DateTime start = November(20, 2003); DateTime maturity = November(20, 2006); DateTime expiry = November(20, 2007); Loan advisedLineLoan = Loan.NewAdvisedLine(this.LOAN_AMOUNT, start, expiry, this.LOW_RISK_TAKING); advisedLineLoan.Payment(1000.00, November(20, 2004)); advisedLineLoan.Payment(1000.00, November(20, 2005)); advisedLineLoan.Payment(1000.00, November(20, 2006)); Assert.Multiple(() => { Assert.AreEqual(40027, advisedLineLoan.Duration(), this.TWO_DIGIT_PRECISION); Assert.AreEqual(1200810, advisedLineLoan.Capital(), this.TWO_DIGIT_PRECISION); }); }