复利计算器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

posted @ 2016-03-29 20:12  44.林集团  阅读(254)  评论(1编辑  收藏  举报