一。测试场景

测试模块 测试输入 预期结果 运行结果 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. centos7 关闭防火墙

    centos7 关闭防火墙 1.firewall相关的操作    查看防火墙状态 firewall-cmd    --state 关闭防火墙 systemctl  stop   firewalld.s ...

  2. Linux 字符设备驱动—— ioremap() 函数解析

    一. ioremap() 函数基础概念 几乎每一种外设都是通过读写设备上的相关寄存器来进行的,通常包括控制寄存器.状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址.根据CPU体系结构的不同, ...

  3. 一道hive面试题:explode map字段

    需要找到每个学生最好的课程和成绩,最差的课程和成绩,以及各科的平均分 文本数据如下: name scores张三 语文:,数学:,英语:,历史:,政治:,物理:,化学:,地理:,生物: 李四 语文:, ...

  4. SQLSERVER字符串处理函数

    sqlserver提供了一系列字符串处理函数:substring.left.right.len.charindex.patindex.replace.replicate.stuff.upper.low ...

  5. 网络中可以引用的jquery库

    网络项目可以直接引用这个jquery库 <script src="http://www.codefans.net/ajaxjs/jquery-1.4.2.min.js"> ...

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

    实验1 实验内容 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能.提交截图,加上自己学号水印. pu ...

  7. 20155318 《Java程序设计》实验二 (Java面向对象程序设计)实验报告

    20155318 <Java程序设计>实验二 (Java面向对象程序设计)实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉 ...

  8. day9 匿名函数 lambda

    1. list列表排序 #### sort排序 nums = [,,,,,] nums.sort() print(nums) ### 结果 [, , , , , ] ######## 逆序 In [] ...

  9. springmvc @Valid 接收实体类时出现bean为null的问题

    这是因为传到后端之后,全部以全小写形式处理了 所以前端也需要把name设置为全小写,否则后端不识别,导致接收不到,导致为null

  10. Django模型层:单表操作

    一 ORM简介 查询数据层次图解:如果操作mysql,ORM是在pymysq之上又进行了一层封装