• 复利计算单元测试


    测试环境如下:

    测试模块 测试输入 预期结果 运行结果
    计算本金(P = F / Math.pow((1 + i / m), N * m)) (终值F,利率i,年限N,次数m) 本金P  
    1 (0.0,0.03,10,1) 0
    1 (10000.0,0.03,10,1) 7440.93914896725
    2 (9999999999999999999999999.0,0.03,10,1) 7.44093914896725E24
    3 (10000, 0, 10,1) 10000.0
    4 (10000, 0.03, 0,1) 10000.0
    5 (10000.0, 0.03, 10,0) 无结果(除数不能为0) 10000.0
      测试模块     测试输入   预期结果 运行结果
    求年限(N = (int) (Math.log(F / P) / Math.log(1 + i / m) / m)) (终值F,本金P,利率i,次数m) 年限N  
    1 (100000, 1000, 0.03, 1) 155
    2 (0, 1000, 0.03, 1) 无结果(log函数中的真数要大于0) -2147483648(乱码)
    3 (10000, 0.0, 0.03, 1) 无结果(除数不能为0) 2147483647(乱码)
    4 (10000, 1000, 0, 1) 无结果(因为log1=0) 2147483647(乱码)
    5 (10000, 1000, 0.03, 0) 无结果(除数不能为0) 0

     其他方法的测试和以上两种类似:1.单利计算公式:F = P + P * N * i;

                                               2.求终值:F = P * Math.pow((1 + i / m), N * m);

                                               3.年利率计算公式:rate = m * (Math.pow(F / P, 1.0 / (N * m)) - 1);

                                               4.等额投资计算公式:final_value = P * 12 * (1 + i) * (Math.pow(1 + i, N) - 1) / i;

                                               5.等额还款公式:refund = F * i / (12 * (1 + i) * (Math.pow(1 + i, N) - 1));

    测试主要代码:

         测试正常:

             测试异常:

    源代码地址:github:https://github.com/zzy999/fulijisuan/blob/master/Compound_int.java

                    博客园:http://www.cnblogs.com/zzy999/p/5323715.html

    测试代码地址:https://github.com/zzy999/fulijisuan/blob/master/test.java

    总结:

          第一次用单元测试来测试程序,感觉还是很吃力的,有很多不懂的地方,后来经过老师的指点,同学之间的交流和网上的查找,最终做出来了,可能还有很多不足的地方,这都有待我自己去改进。

  • 相关阅读:
    06 继承与多态
    动手动脑 4 String 类
    字串加密
    课后作业(查询类对象创建个数)
    动手动脑 3 类与对象
    动手动脑 (第二次)
    IOS 网络判断
    ios常用的几个动画代码
    iOS Get方式带中文不能请求网络
    UILabel Text 加下划线
  • 原文地址:https://www.cnblogs.com/zzy999/p/5334365.html
Copyright © 2020-2023  润新知