Menu

How to use class DecisionRule

In the examples, you will find how to check whether or not 1) a condition, e.g., C1-Y, exists in a decision rule (a column in a decision table); 2)an action, e.g., A1-, exists in a decision rule; 3) two conditions are same, e.g, C-Y and C-Y are same ; 4) two actions are same, e.g. A-/, A- are not same.


/
* Condition pair exists test.
@author: Yan Tang, 2009
/
public static void conditionPairExistsTest() {
DecisionRule rule = new DecisionRule();
rule.addCondition(new ConditionPair("C1", "Y"));
rule.addCondition(new ConditionPair("C2", "N"));

    // exists
    System.out.println("test1:"
            + rule.conditionPairExists(new ConditionPair("C2", "N")));

    // does not exist
    System.out.println("test2:"
            + rule.conditionPairExists(new ConditionPair("C1", "N")));

}

/**
 * Same conditions test.
 */
public static void sameConditionsTest() {
    DecisionRule rule = new DecisionRule();
    rule.addCondition(new ConditionPair("C1", "Y"));
    rule.addCondition(new ConditionPair("C2", "N"));

    // exists
    Vector<ConditionPair> pair1 = new Vector<ConditionPair>();
    pair1.add(new ConditionPair("C2", "N"));
    pair1.add(new ConditionPair("C1", "Y"));
    System.out.println("test1:" + rule.sameConditions(pair1));

    // does not exist
    pair1.clear();
    pair1.add(new ConditionPair("C2", "N"));
    pair1.add(new ConditionPair("C1", "N"));
    System.out.println("test1:" + rule.sameConditions(pair1));
}

/**
 * Action pair exist test.
 */
public static void actionPairExistTest() {
    DecisionRule rule = new DecisionRule();
    rule.addAction(new ActionPair("A1", "*"));
    rule.addAction(new ActionPair("A2", "/"));
    rule.addAction(new ActionPair("A3", "*"));

    // exist
    System.out.println(rule.actionPairExist(new ActionPair("A2", "/")));

    // do not exist
    System.out.println(rule.actionPairExist(new ActionPair("A2", "*")));

}

/**
 * Same actions test.
 */
public static void sameActionsTest() {
    DecisionRule rule = new DecisionRule();
    rule.addAction(new ActionPair("A1", "*"));
    rule.addAction(new ActionPair("A2", "/"));
    rule.addAction(new ActionPair("A3", "*"));

    // same
    Vector<ActionPair> pair = new Vector<ActionPair>();
    pair.add(new ActionPair("A2", "/"));
    pair.add(new ActionPair("A1", "*"));
    pair.add(new ActionPair("A3", "*"));

    System.out.println(rule.sameActions(pair));

    // not same
    pair.set(1, new ActionPair("A1", "/"));

    System.out.println(rule.sameActions(pair));
}

/**
 * Same test.
 */
public static void sameTest() {
    DecisionRule rule = new DecisionRule();
    rule.addCondition(new ConditionPair("C1", "Y"));
    rule.addCondition(new ConditionPair("C2", "N"));
    rule.addAction(new ActionPair("A1", "*"));
    rule.addAction(new ActionPair("A2", "/"));
    rule.addAction(new ActionPair("A3", "*"));

    DecisionRule rule2 = new DecisionRule();
    rule2.addCondition(new ConditionPair("C2", "N"));
    rule2.addCondition(new ConditionPair("C1", "Y"));
    rule2.addAction(new ActionPair("A3", "*"));
    rule2.addAction(new ActionPair("A2", "/"));
    rule2.addAction(new ActionPair("A1", "*"));
    // same
    System.out.println(rule.same(rule, rule2));

    rule2.getConditions().clear();
    rule2.getActions().clear();
    rule2.addCondition(new ConditionPair("C2", "Y"));
    rule2.addCondition(new ConditionPair("C1", "Y"));
    rule2.addAction(new ActionPair("A3", "*"));
    rule2.addAction(new ActionPair("A2", "/"));
    rule2.addAction(new ActionPair("A1", "*"));
    // different
    System.out.println(rule.same(rule, rule2));

}
Posted by Yan Tang Demey 2012-10-18 Labels: DecisionRule

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.