一。测试场景

测试模块 测试输入 预期结果 运行结果 bug跟踪
复利计算

(本金,利率,年限,次数)

终值

   

测试运算结果

(100,5,3,1) 115.76 115.76  
测试输入负数 (-100,5,3,1) False False  
测试输入0 (0,5,3,1) False False  
单利计算 (本金,利率,年限)

终值

   

测试运算结果

(1000,2,5) 1100 1100  
测试输入负数 (-1000,2,5) False False  
测试输入0 (0,2,5) False False  
本金估算 (终值,利率,年限,次数) 本金    

测试运算结果

(1000,2,5,1) 905.73 905.73  
测试输入负数 (-1000,2,5,1) False False  
测试输入0 (0,2,5,1) False False  
年限估算 (本金,利率,次数,终值) 年限    

测试运算结果

(1000,2,1,2000) 35 35  
测试输入负数 (-1000,-2,1,2000) False False  
测试输入0 (0,2,1,2000) False False  
利率估算 (本金,年限,次数,终值) 利率    

测试运算结果

(1000,5,1,2000) 14.86 14.86  
测试输入负数 (-1000,-5,1,2000) False False  
测试输入0 (0,0,1,2000) False False  
按年投资 (年投资额,利率,定投年数)      

测试运算结果

(1000,2,5) 5308.12 5308.12  
测试输入负数 (-1000,2,5) False False  
测试输入0 (0,2,5) False False  
按月投资 (月投资额,利率,定投月数)      

测试运算结果

(1000,2,6) 6035.09 6035.09  
测试输入负数 (-1000,2,6) False False  
测试输入0 (0,2,6) False False  
等额本息还款 (贷款金额,利率,年限,次数)      

测试运算结果

(10000,2,5,2) 175.16 175.16  
测试输入负数 (-10000,2,5,2) False False  
测试输入0 (0,2,5,2) False False  

二。测试代码

 import static org.junit.Assert.*;

 import org.junit.Assert;
import org.junit.Before;
import org.junit.Test; public class test {
@Before
public void setUp() throws Exception {
}
@org.junit.Test
public void testCompound() {
CompoundCalculator Compound = new CompoundCalculator();
double F = Compound.Compound(100,5,3,1);
Assert.assertEquals(F, 115.76, 1.0);
// assertTrue(F>0);
double f =Compound.Compound(-100,5,3,1);
assertFalse(f>0);
double a=Compound.Compound(0,5,3,1);
assertFalse(a>0);
}
@org.junit.Test
public void testSimple() {
CompoundCalculator Simple = new CompoundCalculator();
double F = Simple.Simple(1000,2,5);
Assert.assertEquals(F, 1100, 0.0);
// assertTrue(F>0);
double f =Simple.Simple(-1000,2,5);
assertFalse(f>0);
double a=Simple.Simple(0,2,5);
assertFalse(a>0);
}
@org.junit.Test
public void testPrinciple() {
CompoundCalculator Principle = new CompoundCalculator();
double F = Principle.Principle(1000,2,5,1);
Assert.assertEquals(F, 905.73, 1.0);
// assertTrue(F>0);
double f =Principle.Principle(-1000,2,5,1);
assertFalse(f>0);
double a=Principle.Principle(0,2,5,1);
assertFalse(a>0);
}
@org.junit.Test
public void testYear() {
CompoundCalculator Year = new CompoundCalculator();
double F = Year.Year(1000,2,1,2000);
Assert.assertEquals(F, 35, 0.0);
// assertTrue(F>0);
double f =Year.Year(-1000,-2,1,2000);
assertFalse(f>0);
double a=Year.Year(0,2,1,2000);
assertFalse(a<0);
}
@org.junit.Test
public void testRate() {
CompoundCalculator Rate = new CompoundCalculator();
double F = Rate.Rate(1000,5,1,2000);
Assert.assertEquals(F, 14.86, 1.0);
// assertTrue(F>0);
double f =Rate.Rate(-1000,-5,1,2000);
assertFalse(f>0);
double a=Rate.Rate(0,0,1,2000);
assertFalse(a<0);
}
@org.junit.Test
public void testYearinvest() {
CompoundCalculator Yearinvest = new CompoundCalculator();
double F = Yearinvest.Yearinvest(1000,2,5);
Assert.assertEquals(F, 5308.12, 1.0);
// assertTrue(F>0);
double f =Yearinvest.Yearinvest(-1000,2,5);
assertFalse(f>0);
double a=Yearinvest.Yearinvest(0,2,5);
assertFalse(a>0);
}
@org.junit.Test
public void testMonthinvest() {
CompoundCalculator Monthinvest = new CompoundCalculator();
double F = Monthinvest.Monthinvest(1000,2,6);
Assert.assertEquals(F, 6035.09, 1.0);
// assertTrue(F>0);
double f =Monthinvest.Monthinvest(-1000,2,6);
assertFalse(f>0);
double a=Monthinvest.Monthinvest(0,2,6);
assertFalse(a>0);
}
@org.junit.Test
public void testRepayment() {
CompoundCalculator Repayment = new CompoundCalculator();
double F = Repayment.Repayment(10000,2,5,2);
Assert.assertEquals(F, 175.16, 1.0);
// assertTrue(F>0);
double f =Repayment.Repayment(-10000,2,5,2);
assertFalse(f>0);
double a=Repayment.Repayment(0,2,5,2);
assertFalse(a>0);
} }

三。测试结果

复利计算器Junit单元测试的更多相关文章

  1. 复利计算器4.0之再遇JUnit

    复利计算器4.0之再遇JUnit 前言    虽然之前的复利计算器版本已经尝试过使用JUnit单元测试,但由于没有系统性地学习过JUnit的使用,用得并不好,主要问题表现在测试的场景太少,并没有达到测 ...

  2. 基础-Junit单元测试_反射_注解

    一.Junit单元测试 1.1 测试分类: 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 白盒测试:需要写代码的.关注程序具体的执行流程. 1.2 Junit使用(白盒测试) 使用步 ...

  3. 复利计算器(4)——jQuery界面美化、自动补全

    一.分工 这次终于可以跟小伙伴合作了,经过讨论,我负责界面的美化和输入框自动补全,小伙伴擅长安卓,于是将复利计算器弄成app的任务就交给了小伙伴.为了我们两人团队,我们都好奋斗哈哈哈!! 二.界面美化 ...

  4. junit单元测试(keeps the bar green to keeps the code clean)

    error是程序错误,failure是测试错误. junit概要: JUnit是由 Erich Gamma (设计模式的创始人)和 Kent Beck (敏捷开发的创始人之一)编写的一个回归测试框架( ...

  5. spring && Cobertura && maven &&junit 单元测试以及测试覆盖率

    1. 目的:       junit 单元测试,Cobertura   测试覆盖率报告       项目目录结构          2. maven 配置     <project xmlns= ...

  6. 复利计算器v1

    public class MainFrame extends JFrame { /** * 文本框 */ private TextField[] texts = new TextField[5]; / ...

  7. java版复利计算器升级

    github地址:https://github.com/iamcarson/Carson 伙伴:彭宏亮 学号:201406114148 与伙伴工作帅照: 本次升级的地方: 1.改善了界面显示,让界面整 ...

  8. 0406.复利计算器5.0版-release

    复利计算器5.0-release 目录 项目简介 Github链接推送 客户需求 新增需求分析 项目设计 效果演示 操作说明 程序结构 结对分工 合作照片 总结 1.项目简介 项目名称:复利计算器 目 ...

  9. 解决Junit单元测试 找不到类 ----指定Java Build Path

    做junit 单元测试时,发现怎么执行都是以前编译过得代码. 最后找到原因了, src/test/java 编译完的.class路径是 Default output folder Default ou ...

随机推荐

  1. aiohttp的模板

    import aiohttp import asyncio import async_timeout from urllib.parse import urljoin,urldefrag root_u ...

  2. Python学习 :多线程

    多线程 什么是线程? - 能独立运行的基本单位——线程(Threads). - 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位. - 一条线程指的是进程中一个单一 ...

  3. git提交代码速度过慢解决方法(macos)

    iterm2中ping下github.com和github.global.ssl.fastly.net $ ping github.com 得到以下 PING github.com (192.30.2 ...

  4. scala (8) 模糊匹配

    object MatchDemo { /** * 定义偏函数用PartialFunction来表示 * PartialFunction[T1,T2]要求传入一个参数T1,T2代表返回的类型. * 偏函 ...

  5. Matlab调用C语言函数

    Matlab调用C语言函数 如果我有一个用C语言写的函数,实现了一个功能,如一个简单的函数:double add(double x, double y) { return x + y ;}现在我想要在 ...

  6. 20155213 实验三《敏捷开发与XP实践》实验报告

    20155213 实验三<敏捷开发与XP实践>实验报告 实验内容 XP基础 XP核心实践 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)> ...

  7. 20155316 2016-2017-2 《Java程序设计》第3周学习总结

    教材学习内容总结 类:创建类.使用类 基本类类型与类类型 数组 封装的概念 重载 类语法 static成员 教材学习中的问题和解决过程 1.既然数组在JAVA中就是对象,那么int[] 是否是一个类呢 ...

  8. 20155323 2016-2017-2 《Java程序设计》第9周学习总结

    20155323 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操 ...

  9. Oracle下建立dblink时的权限问题

    如果用普通用户,如果没授权,是无法建立dblink的: [oracle@oracle000 ~]$ sqlplus gao/gao lines) SQL Production :: Copyright ...

  10. 3-3 修改haproxy配置文件

    1.需求 2.个人思路 3.个人心得 4.