天天看點

Compound Interest Calculator4.0

Compound Interest Calculator4.0

1.團隊協作準備:每個同學在github上完成FORK,COMMENT(學号後三位+姓名),PR,MERGE的過程。

Compound Interest Calculator4.0

2.你的RP由你的程式品質決定。

對我們和複利計算程式,寫單元測試。 

測試子產品 測試輸入 預期結果 運作結果 bug跟蹤
計算終值 (本金,年限,利率,次數) 終值
1 (1000000,30,0.03,30) 2427262 2427262.4711896623
2 (3000000,30,0.03,30) 1235960 1235960.2785477191
3 (1000000,3000000,0.03) 37
4 (1000000,3000000,30) 0.1
import org.junit.Test;
import org.junit.Assert;
import junit.framework.TestCase;

public class CalculatorTest extends TestCase {
	//所有的終值誤差在1.0以内算是正确的
	@Test
	public void testFuli(){
		Calculator4 k=new Calculator4();
		double money=1000000;
		double rate=0.03;
		int years=30;
		double sum;
		sum=money*(Math.pow(1+rate, years));
		System.out.println("sum="+sum);
		Assert.assertEquals(2427262, sum,1.0);
	}

	@Test
	public void testPrincipal(){
		Calculator4 k=new Calculator4();
		double sum=3000000;
		int years=30;
		double rate=0.03;
		double money;
		money=sum/(Math.pow(1+rate, years));
		System.out.println("money="+money);
		Assert.assertEquals(1235960, money,1.0);
	}
	
	@Test
	public void testStock(){
		Calculator4 k=new Calculator4();
		double money=1000000;
		double sum=3000000;
		double rate=0.03;
		int years;
		years=(int) ((Math.log(sum)/Math.log(1+rate))-(Math.log(money)/Math.log(1+rate)));
		System.out.println("years="+years);
		Assert.assertEquals(37, years,1.0);
	}
	
	@Test
	public void testRate(){
		Calculator4 k=new Calculator4();
		double money=1000000;
		double sum=3000000;
		int years=30;
		double rate;
		rate=sum/(money*years);
		System.out.println("rate="+rate);
		Assert.assertEquals(0.1, rate,1.0);
	}
	
	@Test
	public void testAssets(){
		Calculator4 k=new Calculator4();
		double money=1000000;
		double rate=0.03;
		int years=30;
		double sum1;
		sum1=money*rate*years;
		System.out.println("sum1="+sum1);
		Assert.assertEquals(900000.0, sum1,1.0);
	}
	
	@Test
	public void testRepayment(){
		Calculator4 k=new Calculator4();
		double money=1000000;
		double rate=0.03;
		int years=10;
		double sum2;
		double i=rate/12;
        int month=years*12;
        sum2=money*i*Math.pow(1+i, month)/(Math.pow(1+i,month)-1);
        System.out.println("sum2="+sum2);
		Assert.assertEquals(9656, sum2,1.0);
	}
}
      

  測試截圖:

Compound Interest Calculator4.0

還是不太懂單元測試到底要怎麼寫,感覺自己寫的單元測試是錯的,但是實在是不知道要怎麼寫