复利计算--单元测试

场景分析,期待的返回值以及运行结果如下表:

注释:预期结果0.0,表示输入数据有误。即得不到正确的结果

测试模块 测试输入 预期结果 运行结果 BUG跟踪
复利计算 (100,10,0.03) 134.39  正确  
单利计算 (100,10,0.03) 130.0 正确  
计算前期投入本金 (100,10,0.03) 76.92 正确  
计算多少年后翻倍 (100,200,0.03) 23.44 正确  
计算利率 (100,200,10) 0.073  正确  
按年定投 (100,10,0.03) 1180.77 正确  
按月定投 (100,10,0.03) 14169.35 正确  
每月还的本息 (100,10,0.03) 1.11 正确  
         

 

 

 

 

 

 

 

 

 

package unit;

import static org.junit.Assert.*;

import org.junit.Assert;
import org.junit.Test;

import bin.compounding;



public class test {

    @SuppressWarnings("deprecation")
    @Test
    
    public void test() {
        double value1=compounding.test_one(100, 10, 0.03);
        assertEquals(134.39, value1, 0.1);
        
        double value2=compounding.test_two(100, 10, 0.03);
        assertEquals(130.0, value2, 0.1);    
        
        double value3=compounding.test_three(100, 10, 0.03);
        assertEquals(76.92, value3, 0.1);    
        
        double value4=compounding.test_four(100, 200, 0.03);
        assertEquals(23.44, value4, 0.1);    
        
        double value5=compounding.test_five(100, 200, 10);
        assertEquals(0.071, value5, 0.1);
        
        double value6_1=compounding.test_six1(100, 10, 0.03);
        assertEquals(1180.77, value6_1, 0.1);
        
        double value6_2=compounding.test_six2(100, 10, 0.03);
        assertEquals(14169.35, value6_2, 0.1);
        
        double value7=compounding.test_seven(100, 10, 0.03);
        assertEquals(1.11, value7, 0.1);
    }
    
    
    
}
    public static double test_one(double a,int b,double c) {
        double sum=a*Math.pow(1+c, b);
        return sum;
    }
    public static double test_two(double a,int b,double c) {
        double sum=a*c*b;
        return sum+a;
    }
    public static double test_three(double a,int b,double c) {
        double single=a/(1+b*c);
        return single;
    }
    public static double test_four(double a,double b,double c) {
        double years=Math.log(b/a)/Math.log(1+c);
        return years;
    }
    public static double test_five(double a,double b,int c) {
        double r=Math.pow((b/a), 1/c)-1;
        return r;
    }
    public static double test_six1(double a,int b,double c) {
        double sum=a*(1+c)*(-1+Math.pow(1+c, b))/c;
        return sum;
    }
    public static double test_six2(double a,int b,double c) {
        double sum=a*12*(1+c)*(-1+Math.pow(1+c, b))/c;
        return sum;
    }
    public static double test_seven(double a,int b,double c) {
        double sum=a*Math.pow(1+c, b);
        double monthMoney=sum/b/12;
        return monthMoney;
    }

posted @ 2016-03-31 13:41  25江志彬  阅读(218)  评论(1编辑  收藏  举报