⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 springruleenginetest.java

📁 虽然商业的规则引擎和BPM系统有许多优点
💻 JAVA
字号:
package test;

import business.LoanApplication;
import business.LoanProcessRuleEngine;

import util.SpringRuleEngine;

import junit.framework.TestCase;

/** TODO 8
 *其中包含一些假设:我们期望公司仅在两种州运作,德克萨斯和密歇根。
 * 而且我们只接受收支比在70%或更好的人的贷款申请
 *显然单元测试会失败因为我们还没有实现任何的逻辑。
 * 然而,随着项目的进展,越来越多的测试通过,最后JUnit测试就全部通过了。
 */
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());
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -