Examples of HierarchyEncoder


Examples of org.drools.core.util.HierarchyEncoder



    @Test
    public void testHierEncoderAnotherSimpleInheritance() {
        HierarchyEncoder encoder = new HierarchyEncoderImpl();

        encoder.encode( "R", Collections.EMPTY_LIST );
        encoder.encode( "A1", Arrays.asList( "R" ) );
        encoder.encode( "A2", Arrays.asList( "R" ) );
        encoder.encode( "A3", Arrays.asList( "R" ) );
        encoder.encode( "B1", Arrays.asList( "R" ) );
        encoder.encode( "B2", Arrays.asList( "R" ) );
        encoder.encode( "B3", Arrays.asList( "R" ) );
        encoder.encode( "B4", Arrays.asList( "B1", "B2" ) );
        encoder.encode( "B5", Arrays.asList( "B1", "B3" ) );
        encoder.encode( "B6", Arrays.asList( "B2", "B3" ) );
        encoder.encode( "B7", Arrays.asList( "B4", "B5", "B6" ) );

        System.out.println( encoder );

        assertEquals( parseBitSet( "0"), encoder.getCode("R"));
        assertEqualsparseBitSet( "1" ), encoder.getCode( "A1" ) );
        assertEqualsparseBitSet( "10" ), encoder.getCode( "A2" ) );
        assertEqualsparseBitSet( "100" ), encoder.getCode( "A3" ) );
        assertEqualsparseBitSet( "1000" ), encoder.getCode( "B1" ) );
        assertEqualsparseBitSet( "10000" ), encoder.getCode( "B2" ) );
        assertEqualsparseBitSet( "100000" ), encoder.getCode( "B3" ) );
        assertEqualsparseBitSet( "11000" ), encoder.getCode( "B4" ) );
        assertEqualsparseBitSet( "101000" ), encoder.getCode( "B5" ) );
        assertEqualsparseBitSet( "110000" ), encoder.getCode( "B6" ) );
        assertEqualsparseBitSet( "111000" ), encoder.getCode( "B7" ) );
    }
View Full Code Here

Examples of org.drools.core.util.HierarchyEncoder



    @Test
    public void testHierEncoderAnotherSimpleInheritanceChangeOrder() {
        HierarchyEncoder encoder = new HierarchyEncoderImpl();

        encoder.encode( "R", Collections.EMPTY_LIST );

        encoder.encode( "B1", Arrays.asList( "R" ) );
        encoder.encode( "B2", Arrays.asList( "R" ) );
        encoder.encode( "B3", Arrays.asList( "R" ) );
        encoder.encode( "B4", Arrays.asList( "B1", "B2" ) );
        encoder.encode( "B5", Arrays.asList( "B1", "B3" ) );
        encoder.encode( "B6", Arrays.asList( "B2", "B3" ) );
        encoder.encode( "B7", Arrays.asList( "B4", "B5", "B6" ) );

        encoder.encode( "A1", Arrays.asList( "R" ) );
        encoder.encode( "A2", Arrays.asList( "R" ) );
        encoder.encode( "A3", Arrays.asList( "R" ) );

        System.out.println( encoder );

        assertEquals( parseBitSet( "0"), encoder.getCode("R"));
        assertEqualsparseBitSet( "1" ), encoder.getCode( "B1" ) );
        assertEqualsparseBitSet( "10" ), encoder.getCode( "B2" ) );
        assertEqualsparseBitSet( "100" ), encoder.getCode( "B3" ) );

        assertEqualsparseBitSet( "11" ), encoder.getCode( "B4" ) );
        assertEqualsparseBitSet( "101" ), encoder.getCode( "B5" ) );
        assertEqualsparseBitSet( "110" ), encoder.getCode( "B6" ) );
        assertEqualsparseBitSet( "111" ), encoder.getCode( "B7" ) );
        assertEqualsparseBitSet( "1000" ), encoder.getCode( "A1" ) );
        assertEqualsparseBitSet( "10000" ), encoder.getCode( "A2" ) );
        assertEqualsparseBitSet( "100000" ), encoder.getCode( "A3" ) );
    }
View Full Code Here

Examples of org.drools.core.util.HierarchyEncoder

    }


    @Test
    public void testConflictArising2() {
        HierarchyEncoder encoder = new HierarchyEncoderImpl();

        encoder.encode( "A", Collections.EMPTY_LIST );
        encoder.encode( "B", Arrays.asList( "A" ) );
        encoder.encode( "C", Arrays.asList( "A" ) );
        encoder.encode( "D", Arrays.asList( "B" ) );
        encoder.encode( "E", Arrays.asList( "B" ) );
        encoder.encode( "F", Arrays.asList( "C" ) );
        encoder.encode( "G", Arrays.asList( "C" ) );
        encoder.encode( "H", Arrays.asList( "E" ) );
        encoder.encode( "J", Arrays.asList( "F" ) );
        encoder.encode( "K", Arrays.asList( "J" ) );


        System.out.println( encoder );

        encoder.encode( "I", Arrays.asList( "E", "F" ) );

        System.out.println( encoder );

        checkHier( encoder, 'K' );
View Full Code Here

Examples of org.drools.core.util.HierarchyEncoder



    @Test
    public void testHierEncoderBipartiteStarInheritance() {
        HierarchyEncoder encoder = new HierarchyEncoderImpl();

        encoder.encode( "R", Collections.EMPTY_LIST );

        encoder.encode( "B1", Arrays.asList( "R" ) );
        encoder.encode( "B2", Arrays.asList( "R" ) );
        encoder.encode( "B3", Arrays.asList( "R" ) );
        encoder.encode( "B4", Arrays.asList( "B1", "B2" ) );
        encoder.encode( "B5", Arrays.asList( "B1", "B3" ) );
        encoder.encode( "B6", Arrays.asList( "B2", "B3" ) );
        encoder.encode( "B7", Arrays.asList( "B4", "B5", "B6" ) );

        encoder.encode( "A1", Arrays.asList( "R" ) );
        encoder.encode( "A2", Arrays.asList( "R" ) );
        encoder.encode( "A3", Arrays.asList( "R" ) );
        encoder.encode( "A4", Arrays.asList( "A1", "A2", "A3" ) );
        encoder.encode( "A5", Arrays.asList( "A4" ) );
        encoder.encode( "A6", Arrays.asList( "A4" ) );
        encoder.encode( "A7", Arrays.asList( "A4" ) );


        System.out.println( encoder );

        assertEquals( parseBitSet( "0"), encoder.getCode("R"));
        assertEqualsparseBitSet( "1" ), encoder.getCode( "B1" ) );
        assertEqualsparseBitSet( "10" ), encoder.getCode( "B2" ) );
        assertEqualsparseBitSet( "100" ), encoder.getCode( "B3" ) );
        assertEqualsparseBitSet( "11" ), encoder.getCode( "B4" ) );
        assertEqualsparseBitSet( "101" ), encoder.getCode( "B5" ) );
        assertEqualsparseBitSet( "110" ), encoder.getCode( "B6" ) );
        assertEqualsparseBitSet( "111" ), encoder.getCode( "B7" ) );
        assertEqualsparseBitSet( "1000" ), encoder.getCode( "A1" ) );
        assertEqualsparseBitSet( "10000" ), encoder.getCode( "A2" ) );
        assertEqualsparseBitSet( "100000" ), encoder.getCode( "A3" ) );
        assertEqualsparseBitSet( "111000" ), encoder.getCode( "A4" ) );
        assertEqualsparseBitSet( "1111000" ), encoder.getCode( "A5" ) );
        assertEqualsparseBitSet( "10111000" ), encoder.getCode( "A6" ) );
        assertEqualsparseBitSet( "100111000" ), encoder.getCode( "A7" ) );
    }
View Full Code Here

Examples of org.drools.core.util.HierarchyEncoder

    }


    @Test
    public void testHierEncoderBipartiteStarInheritanceDiffOrder() {
        HierarchyEncoder encoder = new HierarchyEncoderImpl();

        encoder.encode( "R", Collections.EMPTY_LIST );

        encoder.encode( "A1", Arrays.asList( "R" ) );
        encoder.encode( "A2", Arrays.asList( "R" ) );
        encoder.encode( "A3", Arrays.asList( "R" ) );
        encoder.encode( "A4", Arrays.asList( "A1", "A2", "A3" ) );
        encoder.encode( "A5", Arrays.asList( "A4" ) );
        encoder.encode( "A6", Arrays.asList( "A4" ) );
        encoder.encode( "A7", Arrays.asList( "A4" ) );

        encoder.encode( "B1", Arrays.asList( "R" ) );
        encoder.encode( "B2", Arrays.asList( "R" ) );
        encoder.encode( "B3", Arrays.asList( "R" ) );
        encoder.encode( "B4", Arrays.asList( "B1", "B2" ) );
        encoder.encode( "B5", Arrays.asList( "B1", "B3" ) );
        encoder.encode( "B6", Arrays.asList( "B2", "B3" ) );
        encoder.encode( "B7", Arrays.asList( "B4", "B5", "B6" ) );



        System.out.println( encoder );

        assertEquals( parseBitSet( "0"), encoder.getCode("R"));

        assertEqualsparseBitSet( "1" ), encoder.getCode( "A1" ) );
        assertEqualsparseBitSet( "10" ), encoder.getCode( "A2" ) );
        assertEqualsparseBitSet( "100" ), encoder.getCode( "A3" ) );
        assertEqualsparseBitSet( "111" ), encoder.getCode( "A4" ) );
        assertEqualsparseBitSet( "1111" ), encoder.getCode( "A5" ) );
        assertEqualsparseBitSet( "10111" ), encoder.getCode( "A6" ) );
        assertEqualsparseBitSet( "100111" ), encoder.getCode( "A7" ) );

        assertEqualsparseBitSet( "1000000" ), encoder.getCode( "B1" ) );
        assertEqualsparseBitSet( "10000000" ), encoder.getCode( "B2" ) );
        assertEqualsparseBitSet( "100000000" ), encoder.getCode( "B3" ) );
        assertEqualsparseBitSet( "011000000" ), encoder.getCode( "B4" ) );
        assertEqualsparseBitSet( "101000000" ), encoder.getCode( "B5" ) );
        assertEqualsparseBitSet( "110000000" ), encoder.getCode( "B6" ) );
        assertEqualsparseBitSet( "111000000" ), encoder.getCode( "B7" ) );
    }
View Full Code Here

Examples of org.drools.core.util.HierarchyEncoder

    }


    @Test
    public void testHierEncoderComplexInheritance() {
        HierarchyEncoder encoder = new HierarchyEncoderImpl();

        encoder.encode( "A", Collections.EMPTY_LIST );
        checkHier( encoder, 'A' );

        encoder.encode( "B", Arrays.asList( "A" ) );
        checkHier( encoder, 'B' );

        encoder.encode( "C", Arrays.asList( "A" ) );
        checkHier( encoder, 'C' );

        encoder.encode( "D", Arrays.asList( "B" ) );
        checkHier( encoder, 'D' );

        encoder.encode( "E", Arrays.asList( "B" ) );
        checkHier( encoder, 'E' );

        encoder.encode( "F", Arrays.asList( "C" ) );
        checkHier( encoder, 'F' );

        encoder.encode( "G", Arrays.asList( "C" ) );
        checkHier( encoder, 'G' );

        encoder.encode( "H", Arrays.asList( "D" ) );
        checkHier( encoder, 'H' );

        encoder.encode( "I", Arrays.asList( "D" ) );
        checkHier( encoder, 'I' );
//
        encoder.encode( "J", Arrays.asList( "E", "F" ) );
        checkHier( encoder, 'J' );

        encoder.encode( "K", Arrays.asList( "E", "F" ) );
        checkHier( encoder, 'K' );

        encoder.encode( "L", Arrays.asList( "G" ) );
        checkHier( encoder, 'L' );

        encoder.encode( "M", Arrays.asList( "G" ) );
        checkHier( encoder, 'M' );

        encoder.encode( "N", Arrays.asList( "I", "L" ) );
        checkHier( encoder, 'N' );

        encoder.encode( "O", Arrays.asList( "H", "M" ) );
        checkHier( encoder, 'O' );

        System.out.println( encoder );

        Collection<BitSet> codes = encoder.getSortedMap().values();
        Iterator<BitSet> iter = codes.iterator();
        Long last = -1L;
        for ( int j = 0; j < codes.size() -1; j++ ) {
            BitSet ns = iter.next();
            Long next = toLong( ns );
View Full Code Here

Examples of org.drools.core.util.HierarchyEncoder



    @Test
    public void testSecondOrderInheritance() {
        HierarchyEncoder encoder = new HierarchyEncoderImpl();

        encoder.encode( "T", Collections.EMPTY_LIST );
        encoder.encode( "A", Arrays.asList( "T" ) );
        encoder.encode( "B", Arrays.asList( "T" ) );
        encoder.encode( "C", Arrays.asList( "T" ) );
        encoder.encode( "D", Arrays.asList( "C" ) );
        encoder.encode( "F", Arrays.asList( "B", "C" ) );


        System.out.println( encoder );

        encoder.encode( "Z", Arrays.asList( "A", "B", "D" ) );

        System.out.println( encoder );

        assertTrue( ((HierarchyEncoderImpl) encoder).superset(encoder.getCode("Z"), encoder.getCode("F")) < 0 ) ;
        assertTrue( ((HierarchyEncoderImpl) encoder).superset(encoder.getCode("F"), encoder.getCode("Z")) < 0 ) ;
    }
View Full Code Here

Examples of org.drools.core.util.HierarchyEncoder



    @Test
    public void testDecoderAncestors() {
        HierarchyEncoder encoder = new HierarchyEncoderImpl();

        encoder.encode( "Thing", Collections.EMPTY_LIST );
        encoder.encode( "A", Arrays.asList( "Thing" ) );
        encoder.encode( "Z", Arrays.asList( "Thing" ) );
        encoder.encode( "B", Arrays.asList( "A", "Z" ) );
        encoder.encode( "C", Arrays.asList( "A", "Z" ) );
        encoder.encode( "N", Arrays.asList( "B", "C" ) );
        encoder.encode( "P", Arrays.asList( "Thing" ) );
        encoder.encode( "Q", Arrays.asList( "Thing" ) );
        encoder.encode( "R", Arrays.asList( "Thing" ) );
        encoder.encode( "S", Arrays.asList( "R" ) );
        encoder.encode( "T", Arrays.asList( "C", "Q" ) );
        encoder.encode( "M", Arrays.asList( "R", "Q" ) );
        encoder.encode( "O", Arrays.asList( "M", "P" ) );

        System.out.println( encoder );

        BitSet b;
        Collection x;

        b = parseBitSet( "1100111" );
        x = encoder.upperAncestors(b);
        System.out.println( "ANC " + x );

        assertTrue( x.contains( "A" ) );
        assertTrue( x.contains( "Z" ) );
        assertTrue( x.contains( "C" ) );
        assertTrue( x.contains( "Q" ) );
        assertTrue( x.contains( "T" ) );
        assertTrue( x.contains( "R" ) );
        assertTrue( x.contains( "S" ) );
        assertTrue( x.contains( "M" ) );
        assertTrue( x.contains( "Thing" ) );
        assertEquals( 9, x.size() );


        b = parseBitSet( "100000" );
        x = encoder.upperAncestors(b);
        System.out.println( "ANC " + x );

        assertEquals( 2, x.size() );
        assertTrue( x.contains( "Q" ) );
        assertTrue( x.contains( "Thing" ) );

        b = parseBitSet( "1111" );
        x = encoder.upperAncestors(b);
        System.out.println( "ANC " + x );

        assertEquals( 6, x.size() );
        assertTrue( x.contains( "A" ) );
        assertTrue( x.contains( "Z" ) );
        assertTrue( x.contains( "B" ) );
        assertTrue( x.contains( "C" ) );
        assertTrue( x.contains( "N" ) );
        assertTrue( x.contains( "Thing" ) );

        b = parseBitSet( "111" );
        x = encoder.upperAncestors(b);
        System.out.println( "ANC " + x );

        assertEquals( 4, x.size() );
        assertTrue( x.contains( "A" ) );
        assertTrue( x.contains( "Z" ) );
        assertTrue( x.contains( "C" ) );
        assertTrue( x.contains( "Thing" ) );

        b = parseBitSet( "1" );
        x = encoder.upperAncestors(b);
        System.out.println( "ANC " + x );

        assertEquals( 2, x.size() );
        assertTrue( x.contains( "A" ) );
        assertTrue( x.contains( "Thing" ) );

        b = parseBitSet( "10" );
        x = encoder.upperAncestors(b);
        System.out.println( "ANC " + x );

        assertEquals( 2, x.size() );
        assertTrue( x.contains( "Z" ) );
        assertTrue( x.contains( "Thing" ) );

        b = parseBitSet( "0" );
        x = encoder.upperAncestors(b);
        System.out.println( "ANC " + x );

        assertEquals( 1, x.size() );
        assertTrue( x.contains( "Thing" ) );


        b = parseBitSet( "1011" );
        x = encoder.upperAncestors(b);
        System.out.println( "ANC " + x );

        assertEquals( 4, x.size() );
        assertTrue( x.contains( "Thing" ) );
        assertTrue( x.contains( "A" ) );
View Full Code Here

Examples of org.drools.core.util.HierarchyEncoder

    }


    @Test
    public void testDecoderDescendants() {
        HierarchyEncoder encoder = new HierarchyEncoderImpl();

        encoder.encode( "Thing", Collections.EMPTY_LIST );
        encoder.encode( "A", Arrays.asList( "Thing" ) );
        encoder.encode( "Z", Arrays.asList( "Thing" ) );
        encoder.encode( "B", Arrays.asList( "A", "Z" ) );
        encoder.encode( "C", Arrays.asList( "A", "Z" ) );
        encoder.encode( "N", Arrays.asList( "B", "C" ) );
        encoder.encode( "P", Arrays.asList( "Thing" ) );
        encoder.encode( "Q", Arrays.asList( "Thing" ) );
        encoder.encode( "R", Arrays.asList( "Thing" ) );
        encoder.encode( "S", Arrays.asList( "R" ) );
        encoder.encode( "T", Arrays.asList( "C", "Q" ) );
        encoder.encode( "M", Arrays.asList( "R", "Q" ) );
        encoder.encode( "O", Arrays.asList( "M", "P" ) );

        System.out.println( encoder );

        BitSet b;
        Collection x;

        b = parseBitSet( "111" );
        x = encoder.lowerDescendants(b);
        System.out.println( "DESC " + x );

        assertEquals( 3, x.size() );
        assertTrue( x.contains( "C" ) );
        assertTrue( x.contains( "N" ) );
        assertTrue( x.contains( "T" ) );


        b = parseBitSet( "10" );
        x = encoder.lowerDescendants(b);
        System.out.println( "DESC " + x );

        assertEquals( 5, x.size() );
        assertTrue( x.contains( "C" ) );
        assertTrue( x.contains( "N" ) );
        assertTrue( x.contains( "T" ) );
        assertTrue( x.contains( "Z" ) );
        assertTrue( x.contains( "B" ) );


        b = parseBitSet( "100000" );
        x = encoder.lowerDescendants(b);
        System.out.println( "DESC " + x );

        assertEquals( 4, x.size() );
        assertTrue( x.contains( "Q" ) );
        assertTrue( x.contains( "T" ) );
        assertTrue( x.contains( "M" ) );
        assertTrue( x.contains( "O" ) );




        b = parseBitSet( "100010" );
        x = encoder.lowerDescendants(b);
        System.out.println( "DESC " + x );

        assertEquals( 1, x.size() );
        assertTrue( x.contains( "T" ) );

        b = parseBitSet( "1111" );
        x = encoder.lowerDescendants(b);
        System.out.println( "DESC " + x );

        assertEquals( 1, x.size() );
        assertTrue( x.contains( "N" ) );


        b = parseBitSet( "1" );
        x = encoder.lowerDescendants(b);
        System.out.println( "DESC " + x );

        assertEquals( 5, x.size() );
        assertTrue( x.contains( "A" ) );
        assertTrue( x.contains( "B" ) );
        assertTrue( x.contains( "C" ) );
        assertTrue( x.contains( "N" ) );
        assertTrue( x.contains( "T" ) );

        System.out.println(" +*******************************+ ");

        x = encoder.lowerDescendants(new BitSet());
        System.out.println( "DESC " + x );

        assertEquals( 13, x.size() );
        assertTrue( x.contains( "Z" ) );
        assertTrue( x.contains( "Thing" ) );
View Full Code Here

Examples of org.drools.core.util.HierarchyEncoder

    }


    @Test
    public void testHierEncoderDecoderLower() {
        HierarchyEncoder encoder = new HierarchyEncoderImpl();

        encoder.encode( "Thing", Collections.EMPTY_LIST );
        encoder.encode( "A", Arrays.asList( "Thing" ) );
        encoder.encode( "Z", Arrays.asList( "Thing" ) );
        encoder.encode( "B", Arrays.asList( "A", "Z" ) );
        encoder.encode( "C", Arrays.asList( "A", "Z" ) );
        encoder.encode( "N", Arrays.asList( "B", "C" ) );
        encoder.encode( "P", Arrays.asList( "Thing" ) );
        encoder.encode( "Q", Arrays.asList( "Thing" ) );
        encoder.encode( "R", Arrays.asList( "Thing" ) );
        encoder.encode( "S", Arrays.asList( "R" ) );
        encoder.encode( "T", Arrays.asList( "C", "Q" ) );
        encoder.encode( "M", Arrays.asList( "R", "Q" ) );
        encoder.encode( "O", Arrays.asList( "M", "P" ) );

        System.out.println( encoder );

        Collection x;

        x = encoder.lowerBorder( encoder.metMembersCode( Arrays.asList( "B" ) ) );
        System.out.println( "GCS " + x );
        assertEquals( 1, x.size() );
        assertTrue( x.contains( "B" ) );

        x = encoder.immediateChildren( encoder.metMembersCode( Arrays.asList( "B" ) ) );
        System.out.println( "GCS " + x );
        assertEquals( 1, x.size() );
        assertTrue( x.contains( "N" ) );



        x = encoder.lowerBorder( encoder.metMembersCode( Arrays.asList( "Z", "Q" ) ) );
        System.out.println( "GCS " + x );

        assertEquals( 1, x.size() );
        assertTrue( x.contains( "T" ) );

        x = encoder.immediateChildren( encoder.metMembersCode( Arrays.asList( "Z", "Q" ) ) );
        System.out.println( "GCS " + x );

        assertEquals( 1, x.size() );
        assertTrue( x.contains( "T" ) );




        x = encoder.lowerBorder( encoder.metMembersCode( Arrays.asList( "A", "Z" ) ) );
        System.out.println( "GCS " + x );

        assertEquals( 2, x.size() );
        assertTrue( x.contains( "B" ) );
        assertTrue( x.contains( "C" ) );

        x = encoder.immediateChildren( encoder.metMembersCode( Arrays.asList( "A", "Z" ) ) );
        System.out.println( "GCS " + x );

        assertEquals( 2, x.size() );
        assertTrue( x.contains( "B" ) );
        assertTrue( x.contains( "C" ) );




        x = encoder.lowerBorder( encoder.metMembersCode( Arrays.asList( "Thing" ) ) );
        System.out.println( "GCS " + x );

        assertEquals( 1, x.size() );
        assertTrue( x.contains( "Thing" ) );

        x = encoder.immediateChildren( encoder.metMembersCode( Arrays.asList( "Thing" ) ) );
        System.out.println( "GCS " + x );

        assertEquals( 5, x.size() );
        assertTrue( x.contains( "A" ) );
        assertTrue( x.contains( "Z" ) );
View Full Code Here
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.