package org.acme.insurance.test;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import junit.framework.TestCase;
import org.acme.insurance.base.Driver;
import org.acme.insurance.base.Policy;
import org.acme.insurance.web.InsuranceSessionHelper;
import org.drools.StatefulSession;
public class DriverTest extends TestCase {
private StatefulSession session;
private Date defaultBirthday;
@Override
protected void setUp() throws Exception {
super.setUp();
session = InsuranceSessionHelper.getSession();
SimpleDateFormat df = new java.text.SimpleDateFormat( "dd/MM/yyyy" );
defaultBirthday = df.parse( "18/09/1983" );
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
session.dispose();
}
public void testDriverGenreFactor() throws
IOException,
Exception {
Driver driverMale = new Driver();
driverMale.setGenre( Driver.MALE );
driverMale.setBirhDate( defaultBirthday );
driverMale.setMaritalState( Driver.SINGLE );
driverMale.setLicenceYears( 2 );
Driver driverFemale = new Driver();
driverFemale.setGenre( Driver.FEMALE );
driverFemale.setBirhDate( defaultBirthday );
driverFemale.setMaritalState( Driver.MARRIED );
Policy policy = new Policy();
policy.setApproved( false );
session.insert( policy );
session.insert( driverMale );
session.fireAllRules();
assertEquals( 1.92,
driverMale.getInsuranceFactor() );
policy = new Policy();
policy.setApproved( false );
session.insert( policy );
session.insert( driverFemale );
session.fireAllRules();
assertEquals( 1.0,
driverFemale.getInsuranceFactor() );
}
public void testMatureDriverWithChildFactor() throws
IOException,
Exception {
SimpleDateFormat df = new java.text.SimpleDateFormat( "dd/MM/yyyy" );
defaultBirthday = df.parse( "18/09/1959" );
Driver driverMale = new Driver();
driverMale.setGenre( Driver.MALE );
driverMale.setBirhDate( defaultBirthday );
driverMale.setMaritalState( Driver.MARRIED );
driverMale.setHasChildren( true );
driverMale.setLicenceYears(10);
Policy policy = new Policy();
policy.setApproved( false );
session.insert( policy );
session.insert( driverMale );
session.fireAllRules();
assertEquals( 1.5,
driverMale.getInsuranceFactor() );
}
public void testDriverUnderAgeRejection() throws ParseException {
Driver driver = new Driver();
SimpleDateFormat df = new java.text.SimpleDateFormat( "dd/MM/yyyy" );
Date birhDate = df.parse( "18/09/1996" );
driver.setGenre( Driver.MALE );
driver.setMaritalState( Driver.SINGLE );
driver.setHasChildren( false );
driver.setBirhDate( birhDate );
Policy policy = new Policy();
policy.setApproved( false );
session.insert( driver );
session.insert( policy );
session.fireAllRules();
assertEquals( 0.0,
driver.getInsuranceFactor() );
assertFalse( policy.isApproved() );
}
public void testYoungProblematicDriver() {
Driver driverMale = new Driver();
driverMale.setGenre( Driver.MALE );
driverMale.setBirhDate( defaultBirthday );
driverMale.setMaritalState( Driver.SINGLE );
driverMale.setLicenceYears( 2 );
driverMale.setPriorClaims( 5 );
Policy policy = new Policy();
policy.setApproved( false );
session.insert( policy );
session.insert( driverMale );
session.fireAllRules();
assertEquals( 3.84,
driverMale.getInsuranceFactor() );
}
public void testEmptyDriver() {
Driver driver = new Driver();
Policy policy = new Policy();
policy.setApproved( false );
try {
session.insert( driver );
session.insert( policy );
session.fireAllRules();
fail("should throw exception");
} catch ( Exception e ) {
// OK
}
}
// rewrite test or add rule in drl
public void testMarginalWithPriorDriver() throws ParseException {
Driver driver = new Driver();
SimpleDateFormat df = new java.text.SimpleDateFormat( "dd/MM/yyyy" );
Date birhDate = df.parse( "18/09/2005" );
driver.setGenre( Driver.MALE );
driver.setMaritalState( Driver.MARRIED );
driver.setHasChildren( false );
driver.setBirhDate( birhDate );
driver.setPriorClaims( 9 );
Policy policy = new Policy();
policy.setApproved( false );
session.insert( driver );
session.insert( policy );
session.fireAllRules();
assertFalse( policy.isApproved() );
}
public void testProblematicDriver() throws ParseException {
Driver driver = new Driver();
SimpleDateFormat df = new java.text.SimpleDateFormat( "dd/MM/yyyy" );
Date birhDate = df.parse( "18/09/1960" );
driver.setGenre( Driver.MALE );
driver.setMaritalState( Driver.MARRIED );
driver.setHasChildren( false );
driver.setBirhDate( birhDate );
driver.setPriorClaims( 5 );
Policy policy = new Policy();
policy.setApproved( false );
session.insert( driver );
session.insert( policy );
session.fireAllRules();
assertEquals( 2.4,
driver.getInsuranceFactor() );
assertTrue( policy.isApproved() );
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
drools-insurance.rar (36个子文件)
www.pudn.com.txt 218B
drools-insurance
repository_export.xml 549KB
pom.xml 11KB
target
test-classes
classes
src
test
java
org
acme
insurance
test
DriverTest.java 6KB
InsuranceCalculateTest.java 5KB
DriverAdditionalInfoTest.java 2KB
SupplementalInfoTest.java 5KB
main
webapp
drools.css 1KB
images
header-bg.100x42.png 408B
Thumbs.db 7KB
droolslogo.png 7KB
META-INF
MANIFEST.MF 39B
WEB-INF
web.xml 1KB
lib
index.jsp 26KB
resources
rules
approval
acme.dsl 859B
calculateInsurance.drl 1KB
insurance-process.rf 49KB
marginalage.dslr 910B
insurancefactor.drl 4KB
insurance-process.rfm 11KB
raw.drl 4KB
approval.drl 583B
brmsdeployedrules.properties 153B
java
org
acme
insurance
base
DriverAdditionalInfo.java 2KB
AccessoriesCoverage.java 922B
Policy.java 1KB
Rejection.java 307B
Approve.java 401B
Driver.java 2KB
SupplementalInfo.java 1KB
web
DroolsBusiness.java 3KB
InsuranceSessionHelper.java 812B
InsuranceServlet.java 2KB
.project 320B
redeploy_appserver.sh 91B
.classpath 1KB
共 36 条
- 1
资源评论
Kinonoyomeo
- 粉丝: 75
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 信息办公个人求职管理系统-jobgljsp.rar
- 信息办公一流网络JSP网络管理系统 v1.0-yljsp10.rar
- chirpstack学习
- 管家婆辉煌、财贸、工贸、服装,食品,千方模拟狗
- 基于python开发的工业环境老鼠检测+源码+文档(毕业设计&课程设计&项目开发)
- USB转以太网的芯片SR9900全套设计资料包括(参考设计原理图PCB+ Linux -Windows驱动程序+量产工具)
- 信息办公XML考试系统-xmlks.rar
- 基于python开发的无人机图像目标检测+实验数据+开发文档+操作流程+源码(毕业设计&课程设计&项目开发)
- 全球智能商品管理与优化系统
- IDM下载器(电脑小工具)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功