0329 复利计算器5.0 Juint单元测试 组员 254列志华 253韩麒麟
一.主要功能与需求分析
1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30
2.如果按照单利计算,本息的最终收益
3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢?
4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢?
5.如果我希望在十年内将100万元变成200万元,应该找到报酬率在多少的投资工具来帮助我达成目标?如果想在5年后本金翻倍,报酬率就应至少为多少才行呢?
6.如果每年都将积蓄的3万元进行投资,每年都能获得3%的回报,然后将这些本利之和连同年金再投入新一轮的投资,那么,30年后资产总值将变为多少?如果换成每月定投3000呢?(定额定投收益计算办法)
7. 如果向银行贷款10万元,年利率6.5%,期限为10年,那么每月等额本息还款多少?(算复利条件下等额还款金额)
二.单元测试预期结果及其代码。
|
测试模块 |
测试输入 |
预期结果 |
运行结果 |
bug跟踪 |
|
复利计算 |
(本金,年限,利率,次数) |
终值 |
||
|
测试运算结果 |
(100.0,1,0.05,1) |
105.0 |
√ |
|
|
测试输出正数 |
(100.0,1,0.05,1) |
True |
√ |
|
|
测试输入负数 |
(-100.0,1,-0.05,1) | False | √ | 要添加输入控制 |
|
单利计算 |
(利率,本金,年限) |
终值 | ||
| 测试运算结果 | ("0.05","100.0","1") | 105.0 | √ | |
| 测试输入负数 | ("0.05","100.0","1") | True | √ | |
| 测试输出正数 | ("-0.05","-100.0","1") | False | √ | 要添加输入控制 |
| 投资年限 | (利率,本金,终值,次数) | |||
| 测试运算结果 | ("0.05","100.0","105.0","1") | 1 | √ | |
| 测试输出正数 | ("0.05","100.0","105.0","1") | True | √ | |
| 测试输入负数 | ("-0.05","-100.0","105.0","1") | false | √ | 要添加输入控制 |
| ...... | 以下结果与上表一致 |
package com.Junit.test; import static org.junit.Assert.*;
import interest.BestProject;
import interest.CompoundInterrest;
import interest.InterestTime;
import interest.PeriodicIncome;
import interest.Principal;
import interest.Refund;
import interest.SingleInterest; public class Test { @org.junit.Test
public void testCompoundInterrest() {
double f = new CompoundInterrest("0.05","100.0","1","1").Interrest();
assertEquals(105.0,f ,0.001);
assertTrue("输出为负数", f > 0);
double s = new CompoundInterrest("-0.05", "-100.0", "1", "1").Interrest();
assertFalse(s > 0);
}
@org.junit.Test
public void testSingleInterest() {
double f = new SingleInterest("0.05","100.0","1").Interest();
assertEquals(105.0, f, 0.001);
assertTrue("输出为负数", f > 0);
double s = new SingleInterest("-0.05","-100.0","1").Interest();
assertFalse(s > 0);
}
@org.junit.Test
public void testInterestTime() {
int t = new InterestTime("0.05","100.0","105.0","1").Interrest();
assertEquals(1, t);
assertTrue("输出为负数", t > 0);
double s = new InterestTime("-0.05","-100.0","105.0","1").Interrest();
assertFalse(s > 0);
}
@org.junit.Test
public void testPeriodicIncome() {
double f = new PeriodicIncome("0.01","100","1").Interrest();
assertEquals(101.0, f ,0.001);
assertTrue("输出为负数", f > 0);
double s = new PeriodicIncome("-0.01","-100","1").Interrest();
assertFalse(s > 0);
}
@org.junit.Test
public void testPrincipal () {
double f = new Principal("0.05","105.0","1","1").Interrest();
assertEquals(100.0, f, 0.001);
assertTrue("输出为负数", f > 0);
double s = new Principal("-0.05","-105.0","1","1").Interrest();
assertFalse(s > 0);
} @org.junit.Test
public void testBestProject () {
double f = new BestProject("200","100","1","1").Interrest();
assertEquals(1.0, f, 0.001);
assertTrue("输出为负数", f > 0);
double s = new BestProject("-200","100","1","1").Interrest();
assertFalse(s > 0);
}
@org.junit.Test
public void testRefund () {
double f = new Refund("0.87","1200","3").Interrest();
assertEquals(94.6147, f ,0.001);
assertTrue("输出为负数", f > 0);
double s = new Refund("-0.87","-1200","3").Interrest();
assertFalse(s > 0);
} }
三.运行情况





四.代码链接
https://github.com/liezh/Compound-Interest-5.0-Junit
0329 复利计算器5.0 Juint单元测试 组员 254列志华 253韩麒麟的更多相关文章
- 复利计算器4.0之再遇JUnit
复利计算器4.0之再遇JUnit 前言 虽然之前的复利计算器版本已经尝试过使用JUnit单元测试,但由于没有系统性地学习过JUnit的使用,用得并不好,主要问题表现在测试的场景太少,并没有达到测 ...
- 0406.复利计算器5.0版-release
复利计算器5.0-release 目录 项目简介 Github链接推送 客户需求 新增需求分析 项目设计 效果演示 操作说明 程序结构 结对分工 合作照片 总结 1.项目简介 项目名称:复利计算器 目 ...
- 复利计算器4.0 【java版】
import java.util.Scanner; public class FuLi { public static void main(String[] args) { ; Scanner sca ...
- 复利计算器(软件工程)及Junit测试———郭志豪
计算:1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 客户提出: 2.如果按照单利计算 ...
- 单利 复利计算器程序1.0 2.0 3.0 [ 合 ] 之 WEB
对单复利计算器程序进行改进 更新为网页版的. 界面不太美观 请谅解 由于时间问题暂未完善好! 计算部分的主要源代码:
- 复利计算器v1
public class MainFrame extends JFrame { /** * 文本框 */ private TextField[] texts = new TextField[5]; / ...
- 0414-复利计算器6.0.Release
复利计算器6.0--Release 前言 本次复利计算器的版本更新,主要有以下内容的完善: 1.优化了Web版的页面,提供了更舒服美观的用户体现. 2.新增了移动端(安卓)app版本. 版本信息 项目 ...
- 复利计算--4.0 单元测试之JAVA版-软件工程
复利计算--4.0 单元测试-软件工程 前言:由于本人之前做的是C语言版的复利计算,所以为了更好地学习单元测试,于是将C语言版的复利计算修改为JAVA版的. 一.主要的功能需求细分: 1.本金为100 ...
- 复利计算器app发布
复利计算器app发布 抱歉:由于无法实现服务端的持续开启,发布的app仅为简单的单机版,暂时舍弃了c/s版本的一些功能,如:投资动态管理功能. 应用详情博客:请点击这里 apk下载地址1(百度手机助手 ...
随机推荐
- iis7+php5.6配置404错误页面的问题
打开错误页,如图1 图1 1.刚开始选择的是“在此网站上执行URL”,/404.html页面可以显示出来,但返回的状态是200,对seo不友好,这样生成的的web.config配置文件如下: < ...
- C++ operator 知识点 2
http://blog.csdn.net/szlanny/article/details/4295854 operator它有两种用法,一种是operator overloading(操作符重载),一 ...
- c# 贪吃蛇源码
using UnityEngine; using System.Collections;using System.Diagnostics;using UnityEngine.SceneManageme ...
- Uvision5不能进行软件仿真
Uvision5不能进行软件仿真不能进行软件仿真,报错: error 65: access violation at 0x40021000 : no 'read' permission(软件仿真出错) ...
- CentOS 6.5 更新163源(转载)
From:http://www.cnblogs.com/buffer/p/3426908.html 众所周知,Centos 有个很方便的软件安装工具 yum,但是默认安装完centos,系统里使用的 ...
- 使用SVN进行项目版本管理
1.摘要 本文描述了利用SVN进行项目版本管理的方法,涉及项目版本号命名规则.SVN目录结构.第三方代码库的管理.版本创建.发布.修订.合并等行为的方法和原则. 2.版本号命名规则 版本号采用主版本号 ...
- Eclipse Tomcat配置/管理/调试指南
从myeclipse转到Eclipse最不方便的之一莫过于Web项目部署了,老是在想怎么不能把myeclipse的那个移植过来,或者有没有高人能按照Myeclipse开发一个,非常遗憾. 原版的Ecl ...
- jsp的一些基本语法
jsp页面内容 <%@ page language="java" import="java.util.*" pageEncoding="UTF- ...
- SIT和UAT的区别
SIT和UAT有什么区别?谢谢! 系统内部集成测试(System Integration Testing) SIT 用户验收测试(User Acceptance Testing) UAT ...
- 生成ldf数据库文件
.在我的电脑中删除LOG文件 c.附加数据库: 企业管理器--服务器--数据库--右键--附加数据库 此法将生成新的LOG,大小只有500多K