/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: Personal Concepts</p>
 * @author Dave Wilson
 * @version 1.0
 */
import junit.framework.TestCase;
import junit.framework.TestSuite;

//=============================================================
public class LoanEngineTest extends TestCase {

	//---------------------------------------------------------
	private double fAmount;
	private double fPercent;
	private double fYears;

	//-----------------------------------------
	public static void main (String[] args) {
		junit.textui.TestRunner.run (new TestSuite(LoanEngineTest.class));
	}

	//---------------------------------------------------------
	public LoanEngineTest(String name) {
		super(name);
	}

	//---------------------------------------------------------
	protected void setUp() {
		fAmount = 250000d;
		fPercent = 6.5d;
		fYears = 30d;
	}

	//---------------------------------------------------------
	public void testPayment() {
		LoanData data = new LoanData(fAmount, fPercent, fYears);
		double payment1 = LoanEngine.payment(data);
		double payment2 = LoanEngine.payment(fAmount, fPercent, fYears);
		assertTrue(payment1 > 0);
		assertTrue(payment1 == payment2);
	}

	//---------------------------------------------------------
	public void testPaymentZeroAmount() {
		LoanData data = new LoanData(0.0d, fPercent, fYears);
		double payment1 = LoanEngine.payment(data);
		double payment2 = LoanEngine.payment(0.0d, fPercent, fYears);
		assertTrue(payment1 == 0);
		assertTrue(payment1 == payment2);
	}

		//---------------------------------------------------------
	public void testAmount() {
		double payment = LoanEngine.payment(fAmount, fPercent, fYears);
		double amount = LoanEngine.amount(payment, fPercent, fYears);
		assertTrue(amount == fAmount);
	}

}
