Subversion Repositories SmartDukaan

Rev

Rev 37180 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 37180 Rev 37181
Line 69... Line 69...
69
        young.currentAmt = 0;
69
        young.currentAmt = 0;
70
        assertEquals(AgendaRuleDecider.Action.LEAVE, decide(young).get(AgendaType.LOW_SALES).action);
70
        assertEquals(AgendaRuleDecider.Action.LEAVE, decide(young).get(AgendaType.LOW_SALES).action);
71
    }
71
    }
72
 
72
 
73
    @Test
73
    @Test
74
    public void revivalSuppressesAllDataDrivenAgendasExceptCreditDues() {
74
    public void rulesKeepTheirOwnLifecycleUnderRevival() {
-
 
75
        // Revival suppression is display-layer only (filterVisibleForVisit) —
-
 
76
        // the decider evaluates every rule on data regardless of revival.
75
        AgendaRuleDecider.Inputs in = baseInputs();
77
        AgendaRuleDecider.Inputs in = baseInputs();
76
        in.revival = true;
78
        in.revival = true;
77
        in.lastBillDaysAgo = 200;   // would flag LOW_PURCHASE
79
        in.lastBillDaysAgo = 200;
78
        in.shortPercentage = 90d;   // would flag LOW_INVESTMENT
80
        in.shortPercentage = 90d;
79
        in.currentAmt = 0;          // would flag LOW_SALES
81
        in.currentAmt = 0;
80
        in.oldestLoanAgeDays = 45;  // must STILL flag CREDIT_DUES
82
        in.oldestLoanAgeDays = 45;
81
        in.pendingLoanAmt = 10000;
83
        in.pendingLoanAmt = 10000;
82
        Map<AgendaType, AgendaRuleDecider.Decision> d = decide(in);
84
        Map<AgendaType, AgendaRuleDecider.Decision> d = decide(in);
83
        assertEquals(AgendaRuleDecider.Action.CLOSE, d.get(AgendaType.LOW_PURCHASE).action);
85
        assertEquals(AgendaRuleDecider.Action.OPEN, d.get(AgendaType.LOW_PURCHASE).action);
84
        assertEquals(AgendaRuleDecider.Action.CLOSE, d.get(AgendaType.LOW_INVESTMENT).action);
86
        assertEquals(AgendaRuleDecider.Action.OPEN, d.get(AgendaType.LOW_INVESTMENT).action);
85
        assertEquals(AgendaRuleDecider.Action.CLOSE, d.get(AgendaType.LOW_SALES).action);
87
        assertEquals(AgendaRuleDecider.Action.OPEN, d.get(AgendaType.LOW_SALES).action);
86
        assertEquals(AgendaRuleDecider.Action.OPEN, d.get(AgendaType.CREDIT_DUES).action);
88
        assertEquals(AgendaRuleDecider.Action.OPEN, d.get(AgendaType.CREDIT_DUES).action);
87
        assertEquals(AgendaRuleDecider.Action.OPEN, d.get(AgendaType.REVIVAL).action);
89
        assertEquals(AgendaRuleDecider.Action.OPEN, d.get(AgendaType.REVIVAL).action);
88
    }
90
    }
89
 
91
 
90
    @Test
92
    @Test