zoukankan      html  css  js  c++  java
  • 复利计算器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

  • 相关阅读:
    PHP7还没学明白,PHP8就要来了, 能有多快?
    Linux ab 压力测试
    大公司为什么都有API网关?没你想的那么简单!
    mac安装的vagrant访问laraval欢迎页面,执行时间15秒,安装nfs挂载点(亲测可行)
    PHP操作Elasticsearch
    PHP OpenSSL扩展 对称加密
    为什么 select count(*) from t,在 InnoDB 引擎中比 MyISAM 慢?
    Redis哨兵机制
    未来三五年,社会上什么工作会更吃香呢?这几方面
    自己的 Doxyfile 模板
  • 原文地址:https://www.cnblogs.com/linjituan/p/5334301.html
Copyright © 2011-2022 走看看