Package org.drools.pmml.pmml_4_2.predictive.models

Source Code of org.drools.pmml.pmml_4_2.predictive.models.CleanupTest

/*
* Copyright 2011 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*       http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.drools.pmml.pmml_4_2.predictive.models;


import org.junit.Assert;
import org.drools.pmml.pmml_4_2.DroolsAbstractPMMLTest;
import org.drools.pmml.pmml_4_2.ModelMarker;
import org.junit.Test;
import org.kie.api.runtime.KieSession;
import org.kie.api.runtime.ObjectFilter;

import java.util.Collection;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;


public class CleanupTest extends DroolsAbstractPMMLTest {


    private static final String source1 = "org/drools/pmml/pmml_4_2/test_ann_iris_prediction.xml";
    private static final String source2 = "org/drools/pmml/pmml_4_2/test_tree_simple.xml";
    private static final String source3 = "org/drools/pmml/pmml_4_2/test_regression.xml";
    private static final String source4 = "org/drools/pmml/pmml_4_2/test_clustering.xml";
    private static final String source5 = "org/drools/pmml/pmml_4_2/test_svm.xml";
    private static final String source6 = "org/drools/pmml/pmml_4_2/test_scorecard.xml";

    private static final String source9 = "org/drools/pmml/pmml_4_2/mock_cold.xml";

    private static final String packageName = "org.drools.pmml.pmml_4_2.test";


    @Test
    public void testCleanupANN() {
        KieSession kSession = getModelSession( source1 );
        kSession.fireAllRules();
        assertTrue( kSession.getObjects().size() > 0 );

        Collection qres = getModelMarker( kSession, "Neuiris" );
        assertEquals( 1, qres.size() );

        kSession.getEntryPoint( "enable_Neuiris" ).insert( Boolean.FALSE );
        kSession.fireAllRules();

        assertEquals( 1, kSession.getObjects().size() );
        kSession.dispose();
    }

    private Collection getModelMarker( final KieSession kSession, final String modelName ) {
        return kSession.getObjects( new ObjectFilter() {
            public boolean accept( Object o ) {
                return o instanceof ModelMarker && modelName.equals( ((ModelMarker) o).getModelName() );
            }
        } );
    }


    @Test
    public void testReenableANN() {
        setKSession( getModelSession( source1 ) );
        getKSession().fireAllRules();

        assertTrue( getKSession().getObjects().size() > 0 );

        Collection qres = getModelMarker( getKSession(), "Neuiris" );
        assertEquals( 1, qres.size() );

        getKSession().getEntryPoint( "enable_Neuiris" ).insert( Boolean.FALSE );

        getKSession().fireAllRules();

        assertEquals( 1, getKSession().getObjects().size() );

        getKSession().getEntryPoint( "enable_Neuiris" ).insert( Boolean.TRUE );
        getKSession().fireAllRules();

        getKSession().getEntryPoint( "in_PetalNum" ).insert(101);
        getKSession().getEntryPoint( "in_PetalWid" ).insert(2);
        getKSession().getEntryPoint( "in_Species" ).insert("virginica");
        getKSession().getEntryPoint( "in_SepalWid" ).insert(30);
        getKSession().fireAllRules();

        Assert.assertEquals( 24.0, queryIntegerField( "OutSepLen", "Neuiris" ), 0.0);

        assertEquals( 38, getKSession().getObjects().size() );

        getKSession().dispose();
    }



    @Test
    public void testCleanupDT() {
        KieSession kSession = getModelSession( source2 );
        kSession.fireAllRules();
        assertTrue( kSession.getObjects().size() > 0 );

        Collection qres = getModelMarker( kSession, "TreeTest" );
        assertEquals( 1, qres.size() );

        kSession.getEntryPoint( "enable_TreeTest" ).insert(Boolean.FALSE);
        kSession.fireAllRules();

        assertEquals( 1, kSession.getObjects().size() );

        kSession.dispose();
    }

    @Test
    public void testCleanupRegression() {
        KieSession kSession = getModelSession( source3 );
        kSession.fireAllRules();
        assertTrue( kSession.getObjects().size() > 0 );

        Collection qres = getModelMarker( kSession, "LinReg" );
        assertEquals( 1, qres.size() );

        kSession.getEntryPoint( "enable_LinReg" ).insert(Boolean.FALSE);
        kSession.fireAllRules();

        assertEquals( 1, kSession.getObjects().size() );

        kSession.dispose();
    }

    @Test
    public void testCleanupClustering() {
        KieSession kSession = getModelSession( source4 );
        kSession.fireAllRules();
        assertTrue( kSession.getObjects().size() > 0 );

        Collection qres = getModelMarker( kSession, "CenterClustering" );
        assertEquals( 1, qres.size() );

        kSession.getEntryPoint( "enable_CenterClustering" ).insert(Boolean.FALSE);
        kSession.fireAllRules();

        assertEquals( 1, kSession.getObjects().size() );

        kSession.dispose();
    }

    @Test
    public void testCleanupSVM() {
        KieSession kSession = getModelSession( source5 );
        kSession.fireAllRules();
        assertTrue( kSession.getObjects().size() > 0 );

        Collection qres = getModelMarker( kSession, "SVMXORModel" );
        assertEquals( 1, qres.size() );

        kSession.getEntryPoint( "enable_SVMXORModel" ).insert(Boolean.FALSE);
        kSession.fireAllRules();

        assertEquals( 1, kSession.getObjects().size() );

        kSession.dispose();
    }

    @Test
    public void testCleanupScorecard() {
        KieSession kSession = getModelSession( source6 );
        kSession.fireAllRules();
        assertTrue( kSession.getObjects().size() > 0 );

        Collection qres = getModelMarker( kSession, "SampleScore" );
        assertEquals( 1, qres.size() );

        kSession.getEntryPoint( "enable_SampleScore" ).insert(Boolean.FALSE);
        kSession.fireAllRules();

        assertEquals( 1, kSession.getObjects().size() );

        kSession.dispose();
    }







//    @Test
//    public void testCleanupANNRulesWithIncrementalKA() {
//
//        KnowledgeAgent kAgent = initIncrementalKA();
////        kAgent.setSystemEventListener( new PrintStreamSystemEventListener() );
//
//        KnowledgeBase kBase = kAgent.getKnowledgeBase();
//        StatefulKnowledgeSession kSession = kBase.newStatefulKnowledgeSession();
//
//        ChangeSetHelperImpl csAdd = new ChangeSetHelperImpl();
//        ClassPathResource res = (ClassPathResource) ResourceFactory.newClassPathResource( source1 );
//        res.setResourceType( ResourceType.PMML );
//        ClassPathResource res2 = (ClassPathResource) ResourceFactory.newClassPathResource( source9 );
//        res2.setResourceType( ResourceType.PMML );
//        csAdd.addNewResource(res);
//        csAdd.addNewResource( res2 );
//
//        System.out.println( "************************ ADDING resources ");
//
//        kAgent.applyChangeSet( csAdd.getChangeSet() );
//
//        assertTrue( kBase.getKnowledgePackage( packageName ).getRules().size() > 0 );
//        kSession.fireAllRules();
//        assertTrue( kSession.getObjects().size() > 0 );
//
//
//        System.out.println( "************************ REMOVING resource 1 ");
//
//        ChangeSetHelperImpl csRem = new ChangeSetHelperImpl();
//        csRem.addRemovedResource( res );
//        kAgent.applyChangeSet( csRem .getChangeSet() );
//
//        kSession.fireAllRules();
//
//        assertEquals( 41, kBase.getKnowledgePackage( packageName ).getRules().size() );
//
//        System.out.println( "************************ REMOVING resource 2 ");
//
//        ChangeSetHelperImpl csRem2 = new ChangeSetHelperImpl();
//        csRem2.addRemovedResource( res2 );
//        kAgent.applyChangeSet( csRem2.getChangeSet() );
//
//        kSession.fireAllRules();
//
//
//        System.out.println(reportWMObjects(kSession));
//
//        assertEquals( 0, kBase.getKnowledgePackage( packageName ).getRules().size() );
//
//        System.err.println( reportWMObjects( kSession ) );
//        assertEquals( 0, kSession.getObjects().size() );
//
//        kSession.dispose();
//        kAgent.dispose();
//
//    }
//
//
//    @Test
//    public void testCleanupDTRulesWithIncrementalKA() {
//        KnowledgeAgent kAgent = initIncrementalKA();
//        //        kAgent.setSystemEventListener( new PrintStreamSystemEventListener() );
//
//        KnowledgeBase kBase = kAgent.getKieBase();
//        StatefulKnowledgeSession kSession = kBase.newStatefulKnowledgeSession();
//
//        ChangeSetHelperImpl csAdd = new ChangeSetHelperImpl();
//        ClassPathResource res = (ClassPathResource) ResourceFactory.newClassPathResource( source2 );
//        res.setResourceType( ResourceType.PMML );
//        csAdd.addNewResource(res);
//
//        System.out.println( "************************ ADDING resources ");
//
//        kAgent.applyChangeSet( csAdd.getChangeSet() );
//
//        assertTrue( kBase.getKnowledgePackage( packageName ).getRules().size() > 0 );
//        kSession.fireAllRules();
//        assertTrue( kSession.getObjects().size() > 0 );
//
//
//        System.out.println( "************************ REMOVING resource 1 ");
//
//        ChangeSetHelperImpl csRem = new ChangeSetHelperImpl();
//        csRem.addRemovedResource( res );
//        kAgent.applyChangeSet( csRem .getChangeSet() );
//
//        kSession.fireAllRules();
//
//        assertEquals( 0, kBase.getKnowledgePackage( packageName ).getRules().size() );
//
//        System.err.println( reportWMObjects( kSession ) );
//        assertEquals( 0, kSession.getObjects().size() );
//
//        kSession.dispose();
//        kAgent.dispose();
//    }
//
//    @Test
//    public void testCleanupClusteringRulesWithIncrementalKA() {
//        KnowledgeAgent kAgent = initIncrementalKA();
//        //        kAgent.setSystemEventListener( new PrintStreamSystemEventListener() );
//
//        KnowledgeBase kBase = kAgent.getKieBase();
//        StatefulKnowledgeSession kSession = kBase.newStatefulKnowledgeSession();
//
//        ChangeSetHelperImpl csAdd = new ChangeSetHelperImpl();
//        ClassPathResource res = (ClassPathResource) ResourceFactory.newClassPathResource( source3 );
//        res.setResourceType( ResourceType.PMML );
//        csAdd.addNewResource(res);
//
//        System.out.println( "************************ ADDING resources ");
//
//        kAgent.applyChangeSet( csAdd.getChangeSet() );
//
//        assertTrue( kBase.getKnowledgePackage( packageName ).getRules().size() > 0 );
//        kSession.fireAllRules();
//        assertTrue( kSession.getObjects().size() > 0 );
//
//
//        System.out.println( "************************ REMOVING resource 1 ");
//
//        ChangeSetHelperImpl csRem = new ChangeSetHelperImpl();
//        csRem.addRemovedResource( res );
//        kAgent.applyChangeSet( csRem .getChangeSet() );
//
//        kSession.fireAllRules();
//
//        assertEquals( 0, kBase.getKnowledgePackage( packageName ).getRules().size() );
//
//        System.err.println( reportWMObjects( kSession ) );
//        assertEquals( 0, kSession.getObjects().size() );
//
//        kSession.dispose();
//        kAgent.dispose();
//    }
//
//    @Test
//    public void testCleanupRegressionRulesWithIncrementalKA() {
//        KnowledgeAgent kAgent = initIncrementalKA();
//        //        kAgent.setSystemEventListener( new PrintStreamSystemEventListener() );
//
//        KnowledgeBase kBase = kAgent.getKieBase();
//        StatefulKnowledgeSession kSession = kBase.newStatefulKnowledgeSession();
//
//        ChangeSetHelperImpl csAdd = new ChangeSetHelperImpl();
//        ClassPathResource res = (ClassPathResource) ResourceFactory.newClassPathResource( source4 );
//        res.setResourceType( ResourceType.PMML );
//        csAdd.addNewResource(res);
//
//        System.out.println( "************************ ADDING resources ");
//
//        kAgent.applyChangeSet( csAdd.getChangeSet() );
//
//        assertTrue( kBase.getKnowledgePackage( packageName ).getRules().size() > 0 );
//        kSession.fireAllRules();
//        assertTrue( kSession.getObjects().size() > 0 );
//
//
//        System.out.println( "************************ REMOVING resource 1 ");
//
//        ChangeSetHelperImpl csRem = new ChangeSetHelperImpl();
//        csRem.addRemovedResource( res );
//        kAgent.applyChangeSet( csRem .getChangeSet() );
//
//        kSession.fireAllRules();
//
//        assertEquals( 0, kBase.getKnowledgePackage( packageName ).getRules().size() );
//
//        System.err.println( reportWMObjects( kSession ) );
//        assertEquals( 0, kSession.getObjects().size() );
//
//        kSession.dispose();
//        kAgent.dispose();
//    }
//
//    @Test
//    public void testCleanupSVMRulesWithIncrementalKA() {
//        KnowledgeAgent kAgent = initIncrementalKA();
//        //        kAgent.setSystemEventListener( new PrintStreamSystemEventListener() );
//
//        KnowledgeBase kBase = kAgent.getKieBase();
//        StatefulKnowledgeSession kSession = kBase.newStatefulKnowledgeSession();
//
//        ChangeSetHelperImpl csAdd = new ChangeSetHelperImpl();
//        ClassPathResource res = (ClassPathResource) ResourceFactory.newClassPathResource( source5 );
//        res.setResourceType( ResourceType.PMML );
//        csAdd.addNewResource(res);
//
//        System.out.println( "************************ ADDING resources ");
//
//        kAgent.applyChangeSet( csAdd.getChangeSet() );
//
//        assertTrue( kBase.getKnowledgePackage( packageName ).getRules().size() > 0 );
//        kSession.fireAllRules();
//        assertTrue( kSession.getObjects().size() > 0 );
//
//
//        System.out.println( "************************ REMOVING resource 1 ");
//
//        ChangeSetHelperImpl csRem = new ChangeSetHelperImpl();
//        csRem.addRemovedResource( res );
//        kAgent.applyChangeSet( csRem .getChangeSet() );
//
//        kSession.fireAllRules();
//
//        assertEquals( 0, kBase.getKnowledgePackage( packageName ).getRules().size() );
//
//        System.err.println( reportWMObjects( kSession ) );
//        assertEquals( 0, kSession.getObjects().size() );
//
//        kSession.dispose();
//        kAgent.dispose();
//    }
//
//    @Test
//    public void testCleanupScorecardRulesWithIncrementalKA() {
//        KnowledgeAgent kAgent = initIncrementalKA();
//        //        kAgent.setSystemEventListener( new PrintStreamSystemEventListener() );
//
//        KnowledgeBase kBase = kAgent.getKieBase();
//        StatefulKnowledgeSession kSession = kBase.newStatefulKnowledgeSession();
//
//        ChangeSetHelperImpl csAdd = new ChangeSetHelperImpl();
//        ClassPathResource res = (ClassPathResource) ResourceFactory.newClassPathResource( source6 );
//        res.setResourceType( ResourceType.PMML );
//        csAdd.addNewResource(res);
//
//        System.out.println( "************************ ADDING resources ");
//
//        kAgent.applyChangeSet( csAdd.getChangeSet() );
//
//        assertTrue( kBase.getKnowledgePackage( "org.drools.scorecards.example" ).getRules().size() > 0 );
//        kSession.fireAllRules();
//        assertTrue( kSession.getObjects().size() > 0 );
//
//
//        System.out.println( "************************ REMOVING resource 1 ");
//
//        ChangeSetHelperImpl csRem = new ChangeSetHelperImpl();
//        csRem.addRemovedResource( res );
//        kAgent.applyChangeSet( csRem .getChangeSet() );
//
//        kSession.fireAllRules();
//
//        assertEquals( 0, kBase.getKnowledgePackage( "org.drools.scorecards.example" ).getRules().size() );
//
//        System.err.println( reportWMObjects( kSession ) );
//        assertEquals( 0, kSession.getObjects().size() );
//
//        kSession.dispose();
//        kAgent.dispose();
//    }








}
TOP

Related Classes of org.drools.pmml.pmml_4_2.predictive.models.CleanupTest

TOP
Copyright © 2018 www.massapi.com. 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.