/* ---------------------------- */

int main() {

/* simple test */
mortgage(100000,100000,1.0,30);

/* Error message tests */
mortgage(-200000,100000,1,20);
mortgage(300000,-1, 1, 30);
mortgage(200000,200000,-4,20);
mortgage(300000,300000,4, 0);
mortgage(300000,300000,4, -2);
mortgage(-2.0,-5.0, -3.0, -1);
mortgage(1,2,-3,0);
mortgage(1,2,3,4);
mortgage(4,3,2,-1);

/* tests */
mortgage(400000,400000,4,30);
mortgage(400000,350000,4,30);
mortgage(400000,320000,4,30);
mortgage(500000,500000,4,30);
mortgage(500000,450000,4,30);
mortgage(500000,400000,4,30);
mortgage(500000,400000,4.25,30);
mortgage(500000,400000,4.5,30);
mortgage(500000,400000,5,30);
mortgage(500000,400000,6.25,30);
mortgage(500000,400000,4,29);
mortgage(500000,400000,4,28);
mortgage(500000,400000,4,27);
mortgage(500000,400000,4,15);
mortgage(500000,400000,4,10);
mortgage(500000,400000,3,15);
mortgage(500000,400000,3,10);
mortgage(500000,400000,2.95,10);
mortgage(500000,400000,2.75,10);

/* fringe tests */

mortgage(0,0,4,10);
mortgage(1000,0,4,10);
mortgage(4,3,2,1);
mortgage(10,9,8,7);
mortgage(1,1,1,1);
mortgage(1000,1000,10,10);

return 0;

}