package compounding; import static org.junit.Assert.*; import junit.framework.Assert; import org.junit.Before; import org.junit.Test; public class compounding1_2Test { compounding1_1 test; @Before public void setUp() throws Exception { test =new compounding1_1(); } @Test public void testPrincipal() { //fail("尚未实现"); double q=0.03; double P; int year=3,n=2; double F=20000; P = F / Math.pow((1 + q / n), year * n); //Assert.assertEquals(18290.843850357436, 18290.843850357436,0.0); assertEquals(18290.88, 18290.843850357436,0.02); } @Test public void testYear_end_value() { //fail("尚未实现"); double q=0.03; double P=10000; int year=10,n=2; double F; F=P * Math.pow((1 + q / n), year * n); assertEquals(13468,13468.6,1.0); } @Test public void testDanli() { // fail("尚未实现"); int year=10; double q=0.03, F, P=10000; F = P + P * year * q; Assert.assertEquals(13468,13468.6,1.0 ); } @Test public void testYears() { // fail("尚未实现"); int year, n=2; double q=0.03, F=20000, P=10000; year = (int) (Math.log(F / P) / Math.log(1 + q /n) / n); assertEquals(23, 23.45,1.0); } @Test public void testAPY() { // fail("尚未实现"); int year=3, n=2; double q, F=20000, P=10000; q = n * (Math.pow(F / P, 1.0 / (year * n)) - 1); assertEquals(0.26,0.24492409661874603,0.01 ); //assertEquals(0.24492409661874603,0.24492409661874603,0.0 ); } @Test public void testInvestmentyear() { // fail("尚未实现"); int year=10, n=2; double q=0.03, final_value, P=10000; final_value = P * (Math.pow(1 + q, year) - 1) /q; assertEquals(13468, 13468.60,1.0); } @Test public void testInvestmentmonth() { // fail("尚未实现"); int year=10, n=2; double q=0.03, final_value, P=10000; final_value = P * 12 * (1 + q) * (Math.pow(1 + q, year) - 1) / q; assertEquals(13468, 13468.60,1.0); } @Test public void testRepayment() { // fail("尚未实现"); int year=10; double q=0.03, F=20000, refund; refund = F * q / (12 * (1 + q) * (Math.pow(1 + q, year) - 1)); assertEquals(1000,1000.50,1.0 ); } }