• Compound Interest Calculator4.0


    Compound Interest Calculator4.0

    1.团队协作准备:每个同学在github上完成FORK,COMMENT(学号后三位+姓名),PR,MERGE的过程。

     

    2.你的RP由你的程序质量决定。

    对我们和复利计算程序,写单元测试。 

    测试模块 测试输入 预期结果 运行结果 bug跟踪
    计算终值 (本金,年限,利率,次数) 终值    
    1 (1000000,30,0.03,30) 2427262 2427262.4711896623  
    2 (3000000,30,0.03,30) 1235960 1235960.2785477191  
    3 (1000000,3000000,0.03) 37 37  
    4 (1000000,3000000,30) 0.1 0.1  
    import org.junit.Test;
    import org.junit.Assert;
    import junit.framework.TestCase;
    
    public class CalculatorTest extends TestCase {
    	//所有的终值误差在1.0以内算是正确的
    	@Test
    	public void testFuli(){
    		Calculator4 k=new Calculator4();
    		double money=1000000;
    		double rate=0.03;
    		int years=30;
    		double sum;
    		sum=money*(Math.pow(1+rate, years));
    		System.out.println("sum="+sum);
    		Assert.assertEquals(2427262, sum,1.0);
    	}
    
    	@Test
    	public void testPrincipal(){
    		Calculator4 k=new Calculator4();
    		double sum=3000000;
    		int years=30;
    		double rate=0.03;
    		double money;
    		money=sum/(Math.pow(1+rate, years));
    		System.out.println("money="+money);
    		Assert.assertEquals(1235960, money,1.0);
    	}
    	
    	@Test
    	public void testStock(){
    		Calculator4 k=new Calculator4();
    		double money=1000000;
    		double sum=3000000;
    		double rate=0.03;
    		int years;
    		years=(int) ((Math.log(sum)/Math.log(1+rate))-(Math.log(money)/Math.log(1+rate)));
    		System.out.println("years="+years);
    		Assert.assertEquals(37, years,1.0);
    	}
    	
    	@Test
    	public void testRate(){
    		Calculator4 k=new Calculator4();
    		double money=1000000;
    		double sum=3000000;
    		int years=30;
    		double rate;
    		rate=sum/(money*years);
    		System.out.println("rate="+rate);
    		Assert.assertEquals(0.1, rate,1.0);
    	}
    	
    	@Test
    	public void testAssets(){
    		Calculator4 k=new Calculator4();
    		double money=1000000;
    		double rate=0.03;
    		int years=30;
    		double sum1;
    		sum1=money*rate*years;
    		System.out.println("sum1="+sum1);
    		Assert.assertEquals(900000.0, sum1,1.0);
    	}
    	
    	@Test
    	public void testRepayment(){
    		Calculator4 k=new Calculator4();
    		double money=1000000;
    		double rate=0.03;
    		int years=10;
    		double sum2;
    		double i=rate/12;
            int month=years*12;
            sum2=money*i*Math.pow(1+i, month)/(Math.pow(1+i,month)-1);
            System.out.println("sum2="+sum2);
    		Assert.assertEquals(9656, sum2,1.0);
    	}
    }
    

      测试截图:

    还是不太懂单元测试到底要怎么写,感觉自己写的单元测试是错的,但是实在是不知道要怎么写

  • 相关阅读:
    Ruby向Java发起挑战,红色风暴来了吗?
    学习语义网的好书
    Joel给计算机系学生们七条免费的建议
    ruby rails: 一个高开发效率的web开发框架
    推荐:《真正的执行》
    每个java程序员都应该看看Jakarta Commons
    上海IT俱乐部论坛开通了!
    重构的三个层次
    一些蔡志忠先生的漫画书!
    pythonchanllenge: 解决迷题,非常有趣的学习python的方式
  • 原文地址:https://www.cnblogs.com/queenjuan/p/5322667.html
Copyright © 2020-2023  润新知