复利计算的单元测试情况0330

测试环境

测试模块

测试输入的数据

预期结果

误差允许的范围

最后测试结果

复利计算年利率公式

 q = n * (Math.pow(F / P, 1.0 / (year * n)) - 1)

( 本金p,复利次数n,年终值F,年限year)

 年利率q    
1 (10000  ,2,  20000  ,3) 0.24492409661874603 0.0

ture

                                 2

(10000,2,20000,3) 

0.26 0.01

            false

复利计算本金

P = F / Math.pow((1 + q / n), year * n)

( 年利率q,复利次数n,年终值F,年限year)

 

 本金p

 

 

                                  1

(0.03,2,20000,3) 

 18290.843850357436

0.0 

 ture

 2

(0.03,2,20000,3) 

18290.88 

 0.02

 false

                                 3

 (0.03,0,20000,3)  20000.0  0.0

 ture

以上是部分功能的测试模块几个结果

测试的主要代码如下:

测试年利率:

正常情况

    public void testAPY() {
//        fail("尚未实现");
        int year=3, n=2;
        double q, F=20000, P=10000;
        q = n * (Math.pow(F / P, 1.0 / (year * n)) - 1);
        //assertEquals(0.26,0.24492409661874603,0.01 );
        assertEquals(0.24492409661874603,0.24492409661874603,0.0 );
    }
 

异常情况

public void testAPY() {
//        fail("尚未实现");
        int year=3, n=2;
        double q, F=20000, P=10000;
        q = n * (Math.pow(F / P, 1.0 / (year * n)) - 1);
        assertEquals(0.26,0.24492409661874603,0.01 );
        //assertEquals(0.24492409661874603,0.24492409661874603,0.0 );
    }

测试本金:

    public void testPrincipal() {
        //fail("尚未实现");
        double q=0.03;
        double P;
        int year=3,n=2;
        double F=20000;
        P = F / Math.pow((1 + q / n), year * n);
        Assert.assertEquals(18290.843850357436, 18290.843850357436,0.0);
        //assertEquals(18290.88, 18290.843850357436,0.02);
    }

测试结果:

 源代码:http://www.cnblogs.com/4249ken/p/5338718.html

测试代码:http://www.cnblogs.com/4249ken/p/5338730.html

应用到的测试功能的学习网址:http://tips1000.com/archives/189.html

原文地址:https://www.cnblogs.com/4249ken/p/5338714.html