Package org.drools.compiler.integrationtests

Source Code of org.drools.compiler.integrationtests.ConsequenceOffsetTest

package org.drools.compiler.integrationtests;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;

import java.io.InputStreamReader;
import java.io.Reader;

import org.drools.compiler.compiler.DrlParser;
import org.drools.compiler.compiler.PackageBuilder;
import org.drools.compiler.lang.descr.PackageDescr;
import org.drools.compiler.lang.descr.RuleDescr;
import org.junit.Test;
import org.kie.internal.builder.conf.LanguageLevelOption;

public class ConsequenceOffsetTest {
   
    @Test
    public void testConsequenceOffset() throws Exception {
        int offset = -1;
        DrlParser parser = new DrlParser(LanguageLevelOption.DRL5);
        Reader reader = new InputStreamReader( ConsequenceOffsetTest.class.getResourceAsStream( "test_consequenceOffset.drl" ) );
       
        PackageDescr packageDescr = parser.parse(reader);
        PackageBuilder packageBuilder = new PackageBuilder();
        packageBuilder.addPackage(packageDescr);
        assertEquals(false, packageBuilder.hasErrors());
        for (Object o: packageDescr.getRules()) {
            RuleDescr rule = (RuleDescr) o;
            if (rule.getName().equals("test")) {
                offset = rule.getConsequenceOffset();
            }
        }
       
        reader = new InputStreamReader( ConsequenceOffsetTest.class.getResourceAsStream( "test_consequenceOffset2.drl" ) );
        packageDescr = parser.parse(reader);
        packageBuilder = new PackageBuilder();
        packageBuilder.addPackage(packageDescr);
        reader = new InputStreamReader( ConsequenceOffsetTest.class.getResourceAsStream( "test_consequenceOffset.drl" ) );
        packageDescr = parser.parse(reader);
        packageBuilder.addPackage(packageDescr);
        assertEquals(false, packageBuilder.hasErrors());
        for (Object o: packageDescr.getRules()) {
            RuleDescr rule = (RuleDescr) o;
            if (rule.getName().equals("test")) {
                assertEquals(offset, rule.getConsequenceOffset());
                return;
            }
        }
        fail();
    }
   
    @Test
    public void testLargeSetOfImports() throws Exception {
        Reader reader = new InputStreamReader( ConsequenceOffsetTest.class.getResourceAsStream( "test_consequenceOffsetImports.drl" ) );
        DrlParser parser = new DrlParser(LanguageLevelOption.DRL5);
        PackageDescr packageDescr = parser.parse(reader);
        PackageBuilder packageBuilder = new PackageBuilder();
        packageBuilder.addPackage(packageDescr);
        assertEquals(false, packageBuilder.hasErrors());
    }
   
}
TOP

Related Classes of org.drools.compiler.integrationtests.ConsequenceOffsetTest

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.