Package org.drools.verifier.data

Examples of org.drools.verifier.data.VerifierReport


    @Test
    public void testIncoherentLiteralRestrictionsInSubPattern() throws Exception {
        KieSession session = getStatelessKieSession(this.getClass().getResourceAsStream("Restrictions.drl"));

        VerifierReport result = VerifierReportFactory.newVerifierReport();
        Collection<? extends Object> testData = getTestData(getClass().getResourceAsStream("RestrictionsTest.drl"),
                                                            result.getVerifierData());

        session.setGlobal("result",
                          result);

        for (Object o : testData) {
            session.insert(o);
        }
        session.fireAllRules(new RuleNameMatchesAgendaFilter("Incoherent LiteralRestrictions in pattern possibility"));

        Iterator<VerifierMessageBase> iter = result.getBySeverity(Severity.ERROR).iterator();

        Set<String> rulesThatHadErrors = new HashSet<String>();
        while (iter.hasNext()) {
            Object o = (Object) iter.next();
            if (o instanceof VerifierMessage) {
View Full Code Here


    @Test
    public void testIncoherentLiteralRestrictionsInSubPatternImpossibleRanges() throws Exception {
        KieSession session = getStatelessKieSession(this.getClass().getResourceAsStream("Restrictions.drl"));

        VerifierReport result = VerifierReportFactory.newVerifierReport();
        Collection<? extends Object> testData = getTestData(this.getClass().getResourceAsStream("RestrictionsTest.drl"),
                                                            result.getVerifierData());

        session.setGlobal("result",
                          result);

        for (Object o : testData) {
            session.insert(o);
        }
        session.fireAllRules(new RuleNameMatchesAgendaFilter("Incoherent LiteralRestrictions with ranges in pattern possibility, impossible ranges"));

        Iterator<VerifierMessageBase> iter = result.getBySeverity(Severity.ERROR).iterator();

        Set<String> rulesThatHadErrors = new HashSet<String>();
        while (iter.hasNext()) {
            Object o = (Object) iter.next();
            if (o instanceof VerifierMessage) {
View Full Code Here

        InputStream in = getClass().getResourceAsStream( "NamedConsequences.drl" );

        KieSession session = getStatelessKieSession(in);

        VerifierReport result = VerifierReportFactory.newVerifierReport();

        Collection< ? extends Object> testData = getTestData( this.getClass().getResourceAsStream( "ConsequenceTest.drl" ),
                                                              result.getVerifierData() );

        session.setGlobal( "result",
                           result );

        for (Object o : testData) {
            session.insert(o);
        }
        session.fireAllRules(new RuleNameMatchesAgendaFilter("No action - possibly commented out"));

        Iterator<VerifierMessageBase> iter = result.getBySeverity( Severity.NOTE ).iterator();

        Set<String> rulesThatHadErrors = new HashSet<String>();
        while ( iter.hasNext() ) {
            Object o = (Object) iter.next();
            if ( o instanceof VerifierMessage ) {
View Full Code Here

        InputStream in = getClass().getResourceAsStream( "Consequence.drl" );

        KieSession session = getStatelessKieSession( in );

        VerifierReport result = VerifierReportFactory.newVerifierReport();

        Collection< ? extends Object> testData = getTestData( this.getClass().getResourceAsStream( "ConsequenceTest2.drl" ),
                                                              result.getVerifierData() );

        session.setGlobal( "result",
                           result );

        for (Object o : testData) {
            session.insert(o);
        }
        session.fireAllRules(new RuleNameMatchesAgendaFilter("No action - possibly commented out"));

        Iterator<VerifierMessageBase> iterator = result.getBySeverity( Severity.WARNING ).iterator();

        Set<String> rulesThatHadErrors = new HashSet<String>();
        while ( iterator.hasNext() ) {
            Object o = iterator.next();
            if ( o instanceof VerifierMessage ) {
View Full Code Here

    @Test
    public void testPatternPossibilities() throws Exception {
        KieSession session = getStatelessKieSession(this.getClass().getResourceAsStream("Patterns.drl"));

        VerifierReport result = VerifierReportFactory.newVerifierReport();
        Collection<Object> data = new ArrayList<Object>();

        session.setGlobal("result",
                          result);
View Full Code Here

    @Test
    @Ignore
    public void testPatterns() throws Exception {
        KieSession session = getStatelessKieSession(this.getClass().getResourceAsStream("Patterns.drl"));

        VerifierReport result = VerifierReportFactory.newVerifierReport();
        Collection<Object> data = new ArrayList<Object>();

        session.setGlobal("result",
                          result);

        VerifierRule rule1 = VerifierComponentMockFactory.createRule1();

        // This pattern is always true.
        Pattern pattern1 = VerifierComponentMockFactory.createPattern1();

        SubPattern pp1 = new SubPattern(pattern1,
                                        0);
        AlwaysTrue alwaysTrue1 = new AlwaysTrue(pp1);

        SubPattern pp2 = new SubPattern(pattern1,
                                        1);
        AlwaysTrue alwaysTrue2 = new AlwaysTrue(pp2);

        // This pattern is okay.
        Pattern pattern2 = new Pattern(new PatternDescr("objectType2", "testPattern2"), rule1);
        pattern2.setName("testPattern2");

        SubPattern pp3 = new SubPattern(pattern2,
                                        0);

        SubPattern pp4 = new SubPattern(pattern2,
                                        1);
        AlwaysTrue alwaysTrue4 = new AlwaysTrue(pp4);

        data.add(rule1);

        data.add(pattern1);
        data.add(pp1);
        data.add(pp2);
        data.add(alwaysTrue1);
        data.add(alwaysTrue2);

        data.add(pattern2);
        data.add(pp3);
        data.add(pp4);
        data.add(alwaysTrue4);

        for (Object o : data) {
            session.insert(o);
        }
        session.fireAllRules(new RuleNameMatchesAgendaFilter("Pattern that is always true"));

        Iterator<VerifierMessageBase> iter = result.getBySeverity(Severity.NOTE).iterator();

        boolean works = false;
        while (iter.hasNext()) {
            Object o = (Object) iter.next();
            if (o instanceof VerifierMessage) {
                VerifierMessage message = (VerifierMessage) o;
                if (message.getFaulty().equals(pattern1)) {
                    works = true;
                } else {
                    fail("There can be only one. (And this is not the one)");
                }
            }
        }

        assertEquals(0,
                     result.getBySeverity(Severity.ERROR).size());
        assertEquals(0,
                     result.getBySeverity(Severity.WARNING).size());
        assertEquals(1,
                     result.getBySeverity(Severity.NOTE).size());
        assertTrue(works);
    }
View Full Code Here

    @Test
    public void testEvalOrderInsideOperator() throws Exception {
        KieSession session = getStatelessKieSession(this.getClass().getResourceAsStream("PatternOrder.drl"));

        VerifierReport result = VerifierReportFactory.newVerifierReport();
        Collection<? extends Object> testData = getTestData(this.getClass().getResourceAsStream("OptimisationPatternOrderTest.drl"),
                                                            result.getVerifierData());

        session.setGlobal("result",
                          result);

        for (Object o : testData) {
            session.insert(o);
        }
        session.fireAllRules(new RuleNameMatchesAgendaFilter("Optimise evals inside pattern"));

        Iterator<VerifierMessageBase> iter = result.getBySeverity(Severity.NOTE).iterator();

        Collection<String> ruleNames = new ArrayList<String>();
        while (iter.hasNext()) {
            Object o = (Object) iter.next();
            if (o instanceof VerifierMessage) {
View Full Code Here

    @Test
    public void testPatternPossibilities() throws Exception {
        KieSession session = getStatelessKieSession(this.getClass().getResourceAsStream("Rules.drl"));

        VerifierReport result = VerifierReportFactory.newVerifierReport();
        Collection<Object> data = new ArrayList<Object>();

        session.setGlobal("result",
                          result);
View Full Code Here

    @Test
    public void testPatterns() throws Exception {
        KieSession session = getStatelessKieSession(this.getClass().getResourceAsStream("Rules.drl"));

        VerifierReport result = VerifierReportFactory.newVerifierReport();
        Collection<Object> data = new ArrayList<Object>();

        session.setGlobal("result",
                          result);

        // This rule is always true.
        VerifierRule rule1 = VerifierComponentMockFactory.createRule1();

        SubRule rp1 = new SubRule(rule1,
                                  0);
        AlwaysTrue alwaysTrue1 = new AlwaysTrue(rp1);

        SubRule rp2 = new SubRule(rule1,
                                  1);
        AlwaysTrue alwaysTrue2 = new AlwaysTrue(rp2);

        // This rule is okay.
        VerifierRule rule2 = VerifierComponentMockFactory.createRule2();

        SubRule rp3 = new SubRule(rule2,
                                  0);

        SubRule rp4 = new SubRule(rule2,
                                  1);
        AlwaysTrue alwaysTrue4 = new AlwaysTrue(rp4);

        data.add(rule1);
        data.add(rp1);
        data.add(rp2);
        data.add(alwaysTrue1);
        data.add(alwaysTrue2);

        data.add(rule2);
        data.add(rp3);
        data.add(rp4);
        data.add(alwaysTrue4);

        for (Object o : data) {
            session.insert(o);
        }
        session.fireAllRules(new RuleNameMatchesAgendaFilter("Rule that is always true"));

        Iterator<VerifierMessageBase> iter = result.getBySeverity(Severity.WARNING).iterator();

        boolean works = false;
        while (iter.hasNext()) {
            Object o = (Object) iter.next();
            if (o instanceof VerifierMessage) {
                VerifierMessage message = (VerifierMessage) o;
                if (message.getFaulty().equals(rule1)) {
                    works = true;
                } else {
                    fail("There can be only one. (And this is not the one)");
                }
            }
        }

        assertEquals(0,
                     result.getBySeverity(Severity.ERROR).size());
        assertEquals(1,
                     result.getBySeverity(Severity.WARNING).size());
        assertEquals(0,
                     result.getBySeverity(Severity.NOTE).size());
        assertTrue(works);
    }
View Full Code Here

        assertFalse(verifier.hasErrors());

        boolean noProblems = verifier.fireAnalysis();
        assertTrue(noProblems);

        VerifierReport result = verifier.getResult();

        Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.WARNING);

        int counter = 0;
        for (VerifierMessageBase message : warnings) {
            //            System.out.println( message );
            if (message.getMessageType().equals(MessageType.EQUIVALANCE)) {
View Full Code Here

TOP

Related Classes of org.drools.verifier.data.VerifierReport

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.