复利计算器4.0JUnit
#因为是用IDEA首次写unit test,所以也是麻烦多多,于是就只写了一个函数的测试....
##需要测试的代码如下
public class Calculator {
// 本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:
public static double calculatingAmount(double capital,double rate,int year)
{
return capital*(Math.pow((1+rate),(double)year));
};
// 如果按照单利计算,本息又是多少呢
public double calculatingAmountForSingle(double capital, double rate, int year)
{
return capital*(1+(rate*year));
};
// 假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢
public double calculatingCapital(double amount, double rate, int year)
{
return amount/(Math.pow((1+rate),(double)year));
};
// 利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢
public int calculatingYear(double capital,double rate,double count)
{
return (int)(Math.log(1+rate)/Math.log(count/capital));
};
// 如果我希望在十年内将100万元变成200万元,应该找到报酬率在多少的投资工具来帮助我达成目标
public double calculatingRate(double capital,int year,double acount)
{
return Math.pow((acount/capital),(double)(1/year))-1;
};
// 如果想在5年后本金翻倍,报酬率就应至少为多少才行呢
public double calculatingRateInDoubleReturn()
{
return this.calculatingRate(100,5,200);
};
// .如果每年都将积蓄的3万元进行投资,每年都能获得3%的回报,然后将这些本利之和连同年金再投入新一轮的投资,那么,30年后资产总值将变为多少
public double calculatingAmountInNorm(double normCapital,double rate,int year){
double acount;
acount=normCapital;
for (int i=0;i<year;i++)
{
acount+=normCapital+acount*rate;
}
return acount;
};
// 如果向银行贷款10万元,年利率6.5%,期限为10年,那么每月等额本息还款多少
public double[][] calculatingInterest(double capital,double rate,int year)
{
double[][] interest=new double[year][12];
for (int i=0;i<year;i++)
{
for (int j=0;j<12;j++)
{
interest[i][j]=capital*Math.pow(rate+1,(double)(i))*rate;
}
}
return interest;
};
}
然后是测试代码
public class CalculatorTest {
@org.junit.Test
public void testCalculatingAmount() throws Exception {
assertEquals(103.0301,Calculator.calculatingAmount(100.0301,0.01,3),0.1);
}
@org.junit.Test
public void testCalculatingAmountForSingle() throws Exception {
}
@org.junit.Test
public void testCalculatingCapital() throws Exception {
}
@org.junit.Test
public void testCalculatingYear() throws Exception {
}
@org.junit.Test
public void testCalculatingRate() throws Exception {
}
@org.junit.Test
public void testCalculatingRateInDoubleReturn() throws Exception {
}
@org.junit.Test
public void testCalculatingAmountInNorm() throws Exception {
}
@org.junit.Test
public void testCalculatingInterest() throws Exception {
}
}
第一个函数而已,其他的都是自动生成的,先熟悉下IDEA环境下JUnit的使用,以后会添加真正的测试的。
下面是结果

#总结:浪费了很多时间,主要是百度中文搜索技术文很差,然后用了bing,看英文看了很...在一些小问题卡住很久,以后解决这种小问题还是需要不要没有思考的百度,很浪费时间,只是原地打转,百度不会什么都告诉你!还有就是学好英文。
附github地址https://github.com/LinJiTuan/BankCalculator
复利计算器4.0JUnit的更多相关文章
- 复利计算器(4)——jQuery界面美化、自动补全
一.分工 这次终于可以跟小伙伴合作了,经过讨论,我负责界面的美化和输入框自动补全,小伙伴擅长安卓,于是将复利计算器弄成app的任务就交给了小伙伴.为了我们两人团队,我们都好奋斗哈哈哈!! 二.界面美化 ...
- 复利计算器v1
public class MainFrame extends JFrame { /** * 文本框 */ private TextField[] texts = new TextField[5]; / ...
- java版复利计算器升级
github地址:https://github.com/iamcarson/Carson 伙伴:彭宏亮 学号:201406114148 与伙伴工作帅照: 本次升级的地方: 1.改善了界面显示,让界面整 ...
- 0406.复利计算器5.0版-release
复利计算器5.0-release 目录 项目简介 Github链接推送 客户需求 新增需求分析 项目设计 效果演示 操作说明 程序结构 结对分工 合作照片 总结 1.项目简介 项目名称:复利计算器 目 ...
- 单利 复利计算器程序1.0 2.0 3.0 [ 合 ] 之 WEB
对单复利计算器程序进行改进 更新为网页版的. 界面不太美观 请谅解 由于时间问题暂未完善好! 计算部分的主要源代码:
- 复利计算器app发布
复利计算器app发布 抱歉:由于无法实现服务端的持续开启,发布的app仅为简单的单机版,暂时舍弃了c/s版本的一些功能,如:投资动态管理功能. 应用详情博客:请点击这里 apk下载地址1(百度手机助手 ...
- 复利计算器4.0之再遇JUnit
复利计算器4.0之再遇JUnit 前言 虽然之前的复利计算器版本已经尝试过使用JUnit单元测试,但由于没有系统性地学习过JUnit的使用,用得并不好,主要问题表现在测试的场景太少,并没有达到测 ...
- 0329 复利计算器5.0 Juint单元测试 组员 254列志华 253韩麒麟
一.主要功能与需求分析 1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 2.如果按照单 ...
- 复利计算器(软件工程)及Junit测试———郭志豪
计算:1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 客户提出: 2.如果按照单利计算 ...
随机推荐
- Python - Django - ORM 操作数据
查询数据(查询管理员): app01/models.py 中定义的类,也就是创建的表 from django.db import models # 类必须继承 models.Model class A ...
- 2018-2019-2 《网络对抗技术》Exp3 免杀原理与实践 Week5 20165233
Exp3 免杀原理与实践 实验内容 一.基础问题回答 1.杀软是如何检测出恶意代码的? 基于特征码的检测:通过与自己软件中病毒的特征库比对来检测的. 启发式的软件检测:就是根据些片面特征去推断.通常是 ...
- [Illuminate\Database\QueryException] SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas sword: NO) (SQL: select * from information_schema.tables where table_schema = la
[Illuminate\Database\QueryException] SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost ...
- Springboot spring data jpa 多数据源的配置01
Springboot spring data jpa 多数据源的配置 (说明:这只是引入了多个数据源,他们各自管理各自的事务,并没有实现统一的事务控制) 例: user数据库 global 数据库 ...
- 奇技淫巧:在spring官网上下载历史版本的spring插件,springsource-tool-suite
转自:https://blog.csdn.net/PacosonSWJTU/article/details/80959689 目前spring官网(http://spring.io/tools/sts ...
- oracle imp dmp
windows>cmd> imp userid=用户名/密码@orcl file=d:\nc60.dmp full=y imp userid=SYSTEM/password@orcl fi ...
- maven错误
maven-enforcer-plugin (goal "enforce") is ignored by m2e. Plugin execution not covered by ...
- start 调用外部程序
批处理中调用外部程序的命令(该外部程序在新窗口中运行,批处理程序继续往下执行,不理会外部程序的运行状况),如果直接运行外部程序则必须等外部程序完成后才继续执行剩下的指令 例:start explore ...
- Winform 窗体关闭事件
//窗体关闭前事件 private void FrmMain_FormClosing(object sender, FormClosingEventArgs e) { DialogResult res ...
- 自动选择最佳特征进行分类-SVM (Halcon)
HALCON12里的example,classify_pills_auto_select_features.hdev. 执行流程: 1.选取相关特征(本例选取color和region组的所有特征)(本 ...