#因為是用IDEA首次寫unit test,所以也是麻煩多多,於是就只寫了一個函式的測試....
##需要測試的程式碼如下
public class Calculator { // 本金為100萬,利率或者投資回報率為3%,投資年限為30年,那麼,30年後所獲得的利息收入: public static double calculatingAmount(double capital,double rate,int year) { return capital*(Math.pow((1+rate),(double)year)); }; // 如果按照單利計算,本息又是多少呢 public double calculatingAmountForSingle(double capital, double rate, int year) { return capital*(1+(rate*year)); }; // 假如30年之後要籌措到300萬元的養老金,平均的年回報率是3%,那麼,現在必須投入的本金是多少呢 public double calculatingCapital(double amount, double rate, int year) { return amount/(Math.pow((1+rate),(double)year)); }; // 利率這麼低,複利計算收益都這麼厲害了,如果拿100萬元去買年報酬率10%的股票,若一切順利,過多長時間,100萬元就變成200萬元呢 public int calculatingYear(double capital,double rate,double count) { return (int)(Math.log(1+rate)/Math.log(count/capital)); }; // 如果我希望在十年內將100萬元變成200萬元,應該找到報酬率在多少的投資工具來幫助我達成目標 public double calculatingRate(double capital,int year,double acount) { return Math.pow((acount/capital),(double)(1/year))-1; }; // 如果想在5年後本金翻倍,報酬率就應至少為多少才行呢 public double calculatingRateInDoubleReturn() { return this.calculatingRate(100,5,200); }; // .如果每年都將積蓄的3萬元進行投資,每年都能獲得3%的回報,然後將這些本利之和連同年金再投入新一輪的投資,那麼,30年後資產總值將變為多少 public double calculatingAmountInNorm(double normCapital,double rate,int year){ double acount; acount=normCapital; for (int i=0;i<year;i++) { acount+=normCapital+acount*rate; } return acount; }; // 如果向銀行貸款10萬元,年利率6.5%,期限為10年,那麼每月等額本息還款多少 public double[][] calculatingInterest(double capital,double rate,int year) { double[][] interest=new double[year][12]; for (int i=0;i<year;i++) { for (int j=0;j<12;j++) { interest[i][j]=capital*Math.pow(rate+1,(double)(i))*rate; } } return interest; }; }
然後是測試程式碼
public class CalculatorTest { @org.junit.Test public void testCalculatingAmount() throws Exception { assertEquals(103.0301,Calculator.calculatingAmount(100.0301,0.01,3),0.1); } @org.junit.Test public void testCalculatingAmountForSingle() throws Exception { } @org.junit.Test public void testCalculatingCapital() throws Exception { } @org.junit.Test public void testCalculatingYear() throws Exception { } @org.junit.Test public void testCalculatingRate() throws Exception { } @org.junit.Test public void testCalculatingRateInDoubleReturn() throws Exception { } @org.junit.Test public void testCalculatingAmountInNorm() throws Exception { } @org.junit.Test public void testCalculatingInterest() throws Exception { } }
第一個函式而已,其他的都是自動生成的,先熟悉下IDEA環境下JUnit的使用,以後會新增真正的測試的。
下面是結果
#總結:浪費了很多時間,主要是百度中文搜尋技術文很差,然後用了bing,看英文看了很...在一些小問題卡住很久,以後解決這種小問題還是需要不要沒有思考的百度,很浪費時間,只是原地打轉,百度不會什麼都告訴你!還有就是學好英文。
附github地址https://github.com/LinJiTuan/BankCalculator