复利计算器4.0JUnit
#因为是用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