zoukankan      html  css  js  c++  java
  • 单元测试:复利计算

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

       有哪些场景?

       期待的返回值

       写测试程序。

       运行测试。

    测试模块

    测试输入

    预期结果

    运行结果

    bug跟踪

    计算终值

    (本金,年限,利率)

    终值

       

    1

    (1000000, 30, 0.03)

    2427262.471189663

     

    2

    (-1000000, 30, 0.03)

    弹出提示:请输入>0的本金

    3

    (1000000, -30, 0.03)

    弹出提示:请输入>0的存钱年数

    4

    (1000000, 30, -0.03)  弹出提示:请输入>0的利率  √  
    5  (1000000, 30, 3)  弹出提示:请输入<1的利率  √  

    计算本金

    (年限,利率,终值)

             本金

       

    1

    (30, 0.03,3000000)

    1235960.278547719

     

    一、测试用户的合法输入和非法输入:

    @Test
        public void testInput0(){//合法输入
            Calculate5 a = new Calculate5();
            boolean result = a.Input(1000000, 30, 0.03);
            Assert.assertEquals(true,result);        
        }
        @Test
        public void testInput1(){//非法输入,本金是负数
            Calculate5 a = new Calculate5();
            boolean result = a.Input(-1000000, 30, 0.03);
            Assert.assertEquals(false,result);    
        }
        @Test
        public void testInput2(){//非法输入,存钱年数是负数
            Calculate5 a = new Calculate5();
            boolean result = a.Input(1000000, -30, 0.03);
            Assert.assertEquals(false,result);    
        }
        @Test
        public void testInput3(){//非法输入,利率是负数
            Calculate5 a = new Calculate5();
            boolean result = a.Input(1000000, 30, -0.03);
            Assert.assertEquals(false,result);    
        }
        @Test
        public void testInput4(){//非法输入,利率大于一
            Calculate5 a = new Calculate5();
            boolean result = a.Input(1000000, 30, 3);
            Assert.assertEquals(false,result);    
        }

    二、测试计算公式是否正确:

    @Test
        public void test0() {//测单利终值
            double money=1000000.0;
            int years=30;
            double r=0.03;
            double sum;
            sum = money + money * years * r;
             Assert.assertEquals(1900000,sum, 1.0);
    System.out.println("单利终值为:" + sum);
    }
        @Test
        public void test1(){//测复利终值
            double money=1000000.0;
            int years=30;
            double r=0.03;
            double N=1;
            double sum;
            for (int i = 1; i <= years; i++) {
                N = (1 + r) * N;
            }
            sum = N * money;
            Assert.assertEquals(2427262,sum, 1.0);
    System.out.println("
    复利终值为:" + sum);
        }
        @Test
        public void test2(){//测本金
             double N = 1, money;
             double sum=3000000;
             int years=30;
             double r=0.03;
             for (int i = 1; i <= years; i++) {
                 N = (1 + r) * N;
             }
             money = sum / N;
             Assert.assertEquals(1235960,money, 1.0);
    System.out.println("
    应投入的本金为:" + money);
        }

  • 相关阅读:
    unicode编码表
    范仁义js课程---17、赋值运算符
    如何从Apache官网下载windows版apache服务器
    php开发工具zendstudio13破解补丁
    如何彻底删除SVN中的文件和文件夹(附恢复方法)
    proguard.cfg 配置文件
    VMware-workstation-full-12.0.1-3160714
    《吉他自学三月通》学习指导
    [Windows] Adobe Photoshop CC 2015官方原版下载 附破解补丁&破解教程
    【求神——唐伯虎点秋香】
  • 原文地址:https://www.cnblogs.com/88mei/p/5332628.html
Copyright © 2011-2022 走看看