?? springruleenginetest.java
字號(hào):
package test;
import business.LoanApplication;
import business.LoanProcessRuleEngine;
import util.SpringRuleEngine;
import junit.framework.TestCase;
/** TODO 8
*其中包含一些假設(shè):我們期望公司僅在兩種州運(yùn)作,德克薩斯和密歇根。
* 而且我們只接受收支比在70%或更好的人的貸款申請(qǐng)
*顯然單元測(cè)試會(huì)失敗因?yàn)槲覀冞€沒(méi)有實(shí)現(xiàn)任何的邏輯。
* 然而,隨著項(xiàng)目的進(jìn)展,越來(lái)越多的測(cè)試通過(guò),最后JUnit測(cè)試就全部通過(guò)了。
*/
public class SpringRuleEngineTest extends TestCase {
public void testSuccessfulFlow() throws Exception {
SpringRuleEngine engine = LoanProcessRuleEngine.getEngine("SharkysExpressLoansApplicationProcessor");
LoanApplication application = new LoanApplication();
application.setFirstName("John");
application.setLastName("Doe");
application.setStateCode("TX");
application.setExpences(4500);
application.setIncome(7000);
engine.processRequest(application);
assertEquals(LoanApplication.APPROVED, application.getStatus());
}
public void testInvalidState() throws Exception {
SpringRuleEngine engine = LoanProcessRuleEngine.getEngine("SharkysExpressLoansApplicationProcessor");
LoanApplication application = new LoanApplication();
application.setFirstName("John");
application.setLastName("Doe");
application.setStateCode("OK");
application.setExpences(4500);
application.setIncome(7000);
engine.processRequest(application);
assertEquals(LoanApplication.INVALID_STATE, application.getStatus());
}
public void testInvalidRatio() throws Exception {
SpringRuleEngine engine = LoanProcessRuleEngine.getEngine("SharkysExpressLoansApplicationProcessor");
LoanApplication application = new LoanApplication();
application.setFirstName("John");
application.setLastName("Doe");
application.setStateCode("MI");
application.setIncome(7000);
application.setExpences(0.80 * 7000);
//too high
engine.processRequest(application);
assertEquals(LoanApplication.INVALID_INCOME_EXPENSE_RATIO, application.getStatus());
}
public void testIncompleteApplication() throws Exception {
SpringRuleEngine engine = LoanProcessRuleEngine.getEngine("SharkysExpressLoansApplicationProcessor");
LoanApplication application = new LoanApplication();
engine.processRequest(application);
assertEquals(LoanApplication.INSUFFICIENT_DATA, application.getStatus());
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -