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

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);
}
}
測試截圖:
還是不太懂單元測試到底要怎麼寫,感覺自己寫的單元測試是錯的,但是實在是不知道要怎麼寫