Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * 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.workbench.models.guided.dtable.backend;
 
 import org.junit.Test;
 
 import java.util.List;
 
 import static org.junit.Assert.*;
 
 @SuppressWarnings("deprecation")
 public class GuidedDTModelConversionTest {
 
 
     @Test
     public void testConversion() {
 
         GuidedDecisionTable dt = new GuidedDecisionTable();
         dt.tableName = "michael";
 
         MetadataCol md = new MetadataCol();
         md.attr = "legacy";
         md.defaultValue = "yes";
         dt.metadataCols.addmd );
 
         AttributeCol attr = new AttributeCol();
         attr.attr = "salience";
         attr.defaultValue = "66";
         dt.attributeCols.addattr );
 
         ConditionCol con = new ConditionCol();
         con.boundName = "f1";
         con.constraintValueType = .;
         con.factField = "age";
         con.factType = "Driver";
         con.header = "Driver f1 age";
         con.operator = "==";
         dt.conditionCols.addcon );
 
         ConditionCol con2 = new ConditionCol();
         con2.boundName = "f1";
         con2.constraintValueType = .;
         con2.factField = "name";
         con2.factType = "Driver";
         con2.header = "Driver f1 name";
         con2.operator = "==";
         dt.conditionCols.addcon2 );
 
         ConditionCol con3 = new ConditionCol();
         con3.boundName = "f1";
         con3.constraintValueType = .;
         con3.factField = "rating";
         con3.factType = "Driver";
         con3.header = "Driver rating";
         con3.operator = "==";
         dt.conditionCols.addcon3 );
 
         ConditionCol con4 = new ConditionCol();
         con4.boundName = "f2";
         con4.constraintValueType = .;
         con4.factType = "Driver";
         con4.header = "Driver 2 pimp";
         con4.factField = "(not needed)";
         dt.conditionCols.addcon4 );
 
         ActionInsertFactCol ins = new ActionInsertFactCol();
         ins.boundName = "ins";
         ins.factType = "Cheese";
         ins.factField = "price";
         ins.type = .;
        dt.actionCols.addins );
        ActionRetractFactCol ret = new ActionRetractFactCol();
        ret.boundName = "ret1";
        dt.actionCols.addret );
        ActionSetFieldCol set = new ActionSetFieldCol();
        set.boundName = "f1";
        set.factField = "goo1";
        set.type = .;
        dt.actionCols.addset );
        ActionSetFieldCol set2 = new ActionSetFieldCol();
        set2.boundName = "f1";
        set2.factField = "goo2";
        set2.defaultValue = "whee";
        set2.type = .;
        dt.actionCols.addset2 );
        dt.data = new String[][]{
                new String[]{ "1""desc""metar1""saliencer1""c1r1""c2r1""c3r1""c4r1""a1r1""a2r1""a3r1""a4r1" },
                new String[]{ "2""desc""metar2""saliencer2""c1r2""c2r2""c3r2""c4r2""a1r2""a2r2""a3r2""a4r2" }
        };
        String[][] expected = new String[][]{
                new String[]{ "1""desc""metar1""saliencer1""c1r1""c2r1""c3r1""c4r1""a1r1""ret1""a3r1""a4r1" },
                new String[]{ "2""desc""metar2""saliencer2""c1r2""c2r2""c3r2""c4r2""a1r2""ret1""a3r2""a4r2" }
        };
        GuidedDecisionTable52 tsdt = .upgradedt );
        assertEquals"michael",
                      tsdt.getTableName() );
                      tsdt.getTableFormat() );
        assertEquals( 1,
                      tsdt.getMetadataCols().size() );
        assertEquals"legacy",
                      tsdt.getMetadataCols().get( 0 ).getMetadata() );
        assertEquals"yes",
                      tsdt.getMetadataCols().get( 0 ).getDefaultValue().getStringValue() );
        assertEquals( 1,
                      tsdt.getAttributeCols().size() );
        assertEquals"salience",
                      tsdt.getAttributeCols().get( 0 ).getAttribute() );
        assertEquals"66",
                      tsdt.getAttributeCols().get( 0 ).getDefaultValue().getStringValue() );
        assertEquals( 2,
                      tsdt.getConditions().size() );
        assertEquals"f1",
                      tsdt.getConditionPattern"f1" ).getBoundName() );
        assertEquals"Driver",
                      tsdt.getConditionPattern"f1" ).getFactType() );
        assertEquals"f2",
                      tsdt.getConditionPattern"f2" ).getBoundName() );
        assertEquals"Driver",
                      tsdt.getConditionPattern"f2" ).getFactType() );
        assertEquals( 3,
                      tsdt.getConditionPattern"f1" ).getChildColumns().size() );
        assertEquals( 1,
                      tsdt.getConditionPattern"f2" ).getChildColumns().size() );
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ).getConstraintValueType() );
        assertEquals"age",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ).getFactField() );
        assertEquals"Driver",
                      tsdt.getPatterntsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ) ).getFactType() );
        assertEquals"Driver f1 age",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ).getHeader() );
        assertEquals"==",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ).getOperator() );
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 1 ).getConstraintValueType() );
        assertEquals"name",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 1 ).getFactField() );
        assertEquals"Driver",
                      tsdt.getPatterntsdt.getConditionPattern"f1" ).getChildColumns().get( 1 ) ).getFactType() );
        assertEquals"Driver f1 name",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 1 ).getHeader() );
        assertEquals"==",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 1 ).getOperator() );
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 2 ).getConstraintValueType() );
        assertEquals"rating",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 2 ).getFactField() );
        assertEquals"Driver",
                      tsdt.getPatterntsdt.getConditionPattern"f1" ).getChildColumns().get( 2 ) ).getFactType() );
        assertEquals"Driver rating",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 2 ).getHeader() );
        assertEquals"==",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 2 ).getOperator() );
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 0 ).getConstraintValueType() );
        assertEquals"(not needed)",
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 0 ).getFactField() );
        assertEquals"Driver",
                      tsdt.getPatterntsdt.getConditionPattern"f2" ).getChildColumns().get( 0 ) ).getFactType() );
        assertEquals"Driver 2 pimp",
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 0 ).getHeader() );
        assertEquals( 4,
                      tsdt.getActionCols().size() );
        ActionInsertFactCol52 a1 = (ActionInsertFactCol52tsdt.getActionCols().get( 0 );
        assertEquals"ins",
                      a1.getBoundName() );
        assertEquals"Cheese",
                      a1.getFactType() );
        assertEquals"price",
                      a1.getFactField() );
                      a1.getType() );
        ActionRetractFactCol52 a2 = (ActionRetractFactCol52tsdt.getActionCols().get( 1 );
        assertNotNulla2 );
        ActionSetFieldCol52 a3 = (ActionSetFieldCol52tsdt.getActionCols().get( 2 );
        assertEquals"f1",
                      a3.getBoundName() );
        assertEquals"goo1",
                      a3.getFactField() );
                      a3.getType() );
        ActionSetFieldCol52 a4 = (ActionSetFieldCol52tsdt.getActionCols().get( 3 );
        assertEquals"f1",
                      a4.getBoundName() );
        assertEquals"goo2",
                      a4.getFactField() );
        assertEquals"whee",
                      a4.getDefaultValue().getStringValue() );
                      a4.getType() );
        assertEquals( 2,
                      tsdt.getData().size() );
        isRowEquivalenttsdt.getData().get( 0 ),
                         expected[ 0 ] );
        isRowEquivalenttsdt.getData().get( 1 ),
                         expected[ 1 ] );
    }
    @Test
    public void testConversionPatternGrouping() {
        GuidedDecisionTable dt = new GuidedDecisionTable();
        dt.tableName = "michael";
        MetadataCol md = new MetadataCol();
        md.attr = "legacy";
        md.defaultValue = "yes";
        dt.metadataCols.addmd );
        AttributeCol attr = new AttributeCol();
        attr.attr = "salience";
        attr.defaultValue = "66";
        dt.attributeCols.addattr );
        ConditionCol con = new ConditionCol();
        con.boundName = "f1";
        con.constraintValueType = .;
        con.factField = "age";
        con.factType = "Driver";
        con.header = "Driver f1 age";
        con.operator = "==";
        dt.conditionCols.addcon );
        ConditionCol con2 = new ConditionCol();
        con2.boundName = "f2";
        con2.constraintValueType = .;
        con2.factField = "name";
        con2.factType = "Person";
        con2.header = "Person f2 name";
        con2.operator = "==";
        dt.conditionCols.addcon2 );
        ConditionCol con3 = new ConditionCol();
        con3.boundName = "f1";
        con3.constraintValueType = .;
        con3.factField = "rating";
        con3.factType = "Driver";
        con3.header = "Driver rating";
        con3.operator = "==";
        dt.conditionCols.addcon3 );
        ConditionCol con4 = new ConditionCol();
        con4.boundName = "f2";
        con4.constraintValueType = .;
        con4.factType = "Person";
        con4.header = "Person f2 not needed";
        con4.factField = "(not needed)";
        dt.conditionCols.addcon4 );
        ActionInsertFactCol ins = new ActionInsertFactCol();
        ins.boundName = "ins";
        ins.factType = "Cheese";
        ins.factField = "price";
        ins.type = .;
        dt.actionCols.addins );
        ActionRetractFactCol ret = new ActionRetractFactCol();
        ret.boundName = "ret1";
        dt.actionCols.addret );
        ActionSetFieldCol set = new ActionSetFieldCol();
        set.boundName = "f1";
        set.factField = "goo1";
        set.type = .;
        dt.actionCols.addset );
        ActionSetFieldCol set2 = new ActionSetFieldCol();
        set2.boundName = "f1";
        set2.factField = "goo2";
        set2.defaultValue = "whee";
        set2.type = .;
        dt.actionCols.addset2 );
        dt.data = new String[][]{
                new String[]{ "1""desc""metar1""saliencer1""f1c1r1""f2c1r1""f1c2r1""f2c2r1""a1r1""a2r1""a3r1""a4r1" },
                new String[]{ "2""desc""metar2""saliencer2""f1c1r2""f2c1r2""f1c2r2""f2c2r2""a1r2""a2r2""a3r2""a4r2" }
        };
        String[][] expected = new String[][]{
                new String[]{ "1""desc""metar1""saliencer1""f1c1r1""f1c2r1""f2c1r1""f2c2r1""a1r1""ret1""a3r1""a4r1" },
                new String[]{ "2""desc""metar2""saliencer2""f1c1r2""f1c2r2""f2c1r2""f2c2r2""a1r2""ret1""a3r2""a4r2" }
        };
        GuidedDecisionTable52 tsdt = .upgradedt );
        assertEquals"michael",
                      tsdt.getTableName() );
        assertEquals( 1,
                      tsdt.getMetadataCols().size() );
        assertEquals"legacy",
                      tsdt.getMetadataCols().get( 0 ).getMetadata() );
        assertEquals"yes",
                      tsdt.getMetadataCols().get( 0 ).getDefaultValue().getStringValue() );
        assertEquals( 1,
                      tsdt.getAttributeCols().size() );
        assertEquals"salience",
                      tsdt.getAttributeCols().get( 0 ).getAttribute() );
        assertEquals"66",
                      tsdt.getAttributeCols().get( 0 ).getDefaultValue().getStringValue() );
        assertEquals( 2,
                      tsdt.getConditions().size() );
        assertEquals"f1",
                      tsdt.getConditionPattern"f1" ).getBoundName() );
        assertEquals"Driver",
                      tsdt.getConditionPattern"f1" ).getFactType() );
        assertEquals"f2",
                      tsdt.getConditionPattern"f2" ).getBoundName() );
        assertEquals"Person",
                      tsdt.getConditionPattern"f2" ).getFactType() );
        assertEquals( 2,
                      tsdt.getConditionPattern"f1" ).getChildColumns().size() );
        assertEquals( 2,
                      tsdt.getConditionPattern"f2" ).getChildColumns().size() );
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ).getConstraintValueType() );
        assertEquals"age",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ).getFactField() );
        assertEquals"Driver",
                      tsdt.getPatterntsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ) ).getFactType() );
        assertEquals"Driver f1 age",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ).getHeader() );
        assertEquals"==",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ).getOperator() );
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 1 ).getConstraintValueType() );
        assertEquals"rating",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 1 ).getFactField() );
        assertEquals"Driver",
                      tsdt.getPatterntsdt.getConditionPattern"f1" ).getChildColumns().get( 1 ) ).getFactType() );
        assertEquals"Driver rating",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 1 ).getHeader() );
        assertEquals"==",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 1 ).getOperator() );
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 0 ).getConstraintValueType() );
        assertEquals"name",
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 0 ).getFactField() );
        assertEquals"Person",
                      tsdt.getPatterntsdt.getConditionPattern"f2" ).getChildColumns().get( 0 ) ).getFactType() );
        assertEquals"Person f2 name",
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 0 ).getHeader() );
        assertEquals"==",
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 0 ).getOperator() );
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 1 ).getConstraintValueType() );
        assertEquals"(not needed)",
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 1 ).getFactField() );
        assertEquals"Person",
                      tsdt.getPatterntsdt.getConditionPattern"f2" ).getChildColumns().get( 1 ) ).getFactType() );
        assertEquals"Person f2 not needed",
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 1 ).getHeader() );
        assertEqualsnull,
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 1 ).getOperator() );
        assertEquals( 4,
                      tsdt.getActionCols().size() );
        ActionInsertFactCol52 a1 = (ActionInsertFactCol52tsdt.getActionCols().get( 0 );
        assertEquals"ins",
                      a1.getBoundName() );
        assertEquals"Cheese",
                      a1.getFactType() );
        assertEquals"price",
                      a1.getFactField() );
                      a1.getType() );
        ActionRetractFactCol52 a2 = (ActionRetractFactCol52tsdt.getActionCols().get( 1 );
        assertNotNulla2 );
        ActionSetFieldCol52 a3 = (ActionSetFieldCol52tsdt.getActionCols().get( 2 );
        assertEquals"f1",
                      a3.getBoundName() );
        assertEquals"goo1",
                      a3.getFactField() );
                      a3.getType() );
        ActionSetFieldCol52 a4 = (ActionSetFieldCol52tsdt.getActionCols().get( 3 );
        assertEquals"f1",
                      a4.getBoundName() );
        assertEquals"goo2",
                      a4.getFactField() );
        assertEquals"whee",
                      a4.getDefaultValue().getStringValue() );
                      a4.getType() );
        assertEquals( 2,
                      tsdt.getData().size() );
        for ( int i = 0; i < 2; i++ ) {
            ..println"Row-" + i );
            StringBuilder sb = new StringBuilder();
            for ( DTCellValue52 c : tsdt.getData().geti ) ) {
                sb.appendc.getStringValue() + ", " );
            }
            sb.deletesb.lastIndexOf"," ),
                       sb.length() );
            ..printlnsb.toString() );
        }
        assertEqualsnew Integer( 1 ),
                      (Integertsdt.getData().get( 0 ).get( 0 ).getNumericValue() );
        assertEquals"desc",
                      tsdt.getData().get( 0 ).get( 1 ).getStringValue() );
        assertEquals"metar1",
                      tsdt.getData().get( 0 ).get( 2 ).getStringValue() );
        assertEquals"saliencer1",
                      tsdt.getData().get( 0 ).get( 3 ).getStringValue() );
        assertEquals"f1c1r1",
                      tsdt.getData().get( 0 ).get( 4 ).getStringValue() );
        assertEquals"f1c2r1",
                      tsdt.getData().get( 0 ).get( 5 ).getStringValue() );
        assertEquals"f2c1r1",
                      tsdt.getData().get( 0 ).get( 6 ).getStringValue() );
        assertEquals"f2c2r1",
                      tsdt.getData().get( 0 ).get( 7 ).getStringValue() );
        assertEquals"a1r1",
                      tsdt.getData().get( 0 ).get( 8 ).getStringValue() );
        assertEquals"ret1",
                      tsdt.getData().get( 0 ).get( 9 ).getStringValue() );
        assertEquals"a3r1",
                      tsdt.getData().get( 0 ).get( 10 ).getStringValue() );
        assertEquals"a4r1",
                      tsdt.getData().get( 0 ).get( 11 ).getStringValue() );
        assertEqualsnew Integer( 2 ),
                      (Integertsdt.getData().get( 1 ).get( 0 ).getNumericValue() );
        assertEquals"desc",
                      tsdt.getData().get( 1 ).get( 1 ).getStringValue() );
        assertEquals"metar2",
                      tsdt.getData().get( 1 ).get( 2 ).getStringValue() );
        assertEquals"saliencer2",
                      tsdt.getData().get( 1 ).get( 3 ).getStringValue() );
        assertEquals"f1c1r2",
                      tsdt.getData().get( 1 ).get( 4 ).getStringValue() );
        assertEquals"f1c2r2",
                      tsdt.getData().get( 1 ).get( 5 ).getStringValue() );
        assertEquals"f2c1r2",
                      tsdt.getData().get( 1 ).get( 6 ).getStringValue() );
        assertEquals"f2c2r2",
                      tsdt.getData().get( 1 ).get( 7 ).getStringValue() );
        assertEquals"a1r2",
                      tsdt.getData().get( 1 ).get( 8 ).getStringValue() );
        assertEquals"ret1",
                      tsdt.getData().get( 1 ).get( 9 ).getStringValue() );
        assertEquals"a3r2",
                      tsdt.getData().get( 1 ).get( 10 ).getStringValue() );
        assertEquals"a4r2",
                      tsdt.getData().get( 1 ).get( 11 ).getStringValue() );
        isRowEquivalenttsdt.getData().get( 0 ),
                         expected[ 0 ] );
        isRowEquivalenttsdt.getData().get( 1 ),
                         expected[ 1 ] );
    }
    private void isRowEquivalentList<DTCellValue52row,
                                  String[] array ) {
        assertEqualsrow.size(),
                      array.length );
        int newRowNum = (Integerrow.get( 0 ).getNumericValue();
        int oldRowNum = Integer.valueOfarray[ 0 ] );
        assertEqualsnewRowNum,
                      oldRowNum );
        for ( int iCol = 1; iCol < row.size(); iCol++ ) {
            DTCellValue52 cell = row.getiCol );
            String v1 = cell.getStringValue();
            String v2 = arrayiCol ];
            assertTrueisEqualOrNullv1,
                                       v2 ) );
            assertEqualsv1,
                          v2 );
        }
    }
    @Test
    public void testConversionPatternGrouping2() {
        GuidedDecisionTable dt = new GuidedDecisionTable();
        dt.tableName = "michael";
        ConditionCol con = new ConditionCol();
        con.boundName = "z1";
        con.constraintValueType = .;
        con.factField = "age";
        con.factType = "Driver";
        con.header = "Driver z1 age";
        con.operator = "==";
        dt.conditionCols.addcon );
        ConditionCol con2 = new ConditionCol();
        con2.boundName = "f1";
        con2.constraintValueType = .;
        con2.factField = "name";
        con2.factType = "Person";
        con2.header = "Person f1 name";
        con2.operator = "==";
        dt.conditionCols.addcon2 );
        ConditionCol con3 = new ConditionCol();
        con3.boundName = "z1";
        con3.constraintValueType = .;
        con3.factField = "rating";
        con3.factType = "Driver";
        con3.header = "Driver rating";
        con3.operator = "==";
        dt.conditionCols.addcon3 );
        ConditionCol con4 = new ConditionCol();
        con4.boundName = "f2";
        con4.constraintValueType = .;
        con4.factType = "Person2";
        con4.header = "Person2 f2 not needed";
        con4.factField = "(not needed)";
        dt.conditionCols.addcon4 );
        dt.data = new String[][]{
                new String[]{ "1""desc""z1c1r1""f1c1r1""z1c2r1""f2c1r1" },
                new String[]{ "2""desc""z1c1r2""f1c1r2""z1c2r2""f2c1r2" }
        };
        String[][] expected = new String[][]{
                new String[]{ "1""desc""z1c1r1""z1c2r1""f1c1r1""f2c1r1" },
                new String[]{ "2""desc""z1c1r2""z1c2r2""f1c1r2""f2c1r2" }
        };
        GuidedDecisionTable52 tsdt = .upgradedt );
        assertEquals"michael",
                      tsdt.getTableName() );
        assertEquals( 0,
                      tsdt.getMetadataCols().size() );
        assertEquals( 0,
                      tsdt.getAttributeCols().size() );
        assertEquals( 3,
                      tsdt.getConditions().size() );
        assertEquals"z1",
                      tsdt.getConditionPattern"z1" ).getBoundName() );
        assertEquals"Driver",
                      tsdt.getConditionPattern"z1" ).getFactType() );
        assertEquals"f1",
                      tsdt.getConditionPattern"f1" ).getBoundName() );
        assertEquals"Person",
                      tsdt.getConditionPattern"f1" ).getFactType() );
        assertEquals"f2",
                      tsdt.getConditionPattern"f2" ).getBoundName() );
        assertEquals"Person2",
                      tsdt.getConditionPattern"f2" ).getFactType() );
        assertEquals( 2,
                      tsdt.getConditionPattern"z1" ).getChildColumns().size() );
        assertEquals( 1,
                      tsdt.getConditionPattern"f1" ).getChildColumns().size() );
        assertEquals( 1,
                      tsdt.getConditionPattern"f2" ).getChildColumns().size() );
                      tsdt.getConditionPattern"z1" ).getChildColumns().get( 0 ).getConstraintValueType() );
        assertEquals"age",
                      tsdt.getConditionPattern"z1" ).getChildColumns().get( 0 ).getFactField() );
        assertEquals"Driver",
                      tsdt.getPatterntsdt.getConditionPattern"z1" ).getChildColumns().get( 0 ) ).getFactType() );
        assertEquals"Driver z1 age",
                      tsdt.getConditionPattern"z1" ).getChildColumns().get( 0 ).getHeader() );
        assertEquals"==",
                      tsdt.getConditionPattern"z1" ).getChildColumns().get( 0 ).getOperator() );
                      tsdt.getConditionPattern"z1" ).getChildColumns().get( 1 ).getConstraintValueType() );
        assertEquals"rating",
                      tsdt.getConditionPattern"z1" ).getChildColumns().get( 1 ).getFactField() );
        assertEquals"Driver",
                      tsdt.getPatterntsdt.getConditionPattern"z1" ).getChildColumns().get( 1 ) ).getFactType() );
        assertEquals"Driver rating",
                      tsdt.getConditionPattern"z1" ).getChildColumns().get( 1 ).getHeader() );
        assertEquals"==",
                      tsdt.getConditionPattern"z1" ).getChildColumns().get( 1 ).getOperator() );
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ).getConstraintValueType() );
        assertEquals"name",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ).getFactField() );
        assertEquals"Person",
                      tsdt.getPatterntsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ) ).getFactType() );
        assertEquals"Person f1 name",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ).getHeader() );
        assertEquals"==",
                      tsdt.getConditionPattern"f1" ).getChildColumns().get( 0 ).getOperator() );
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 0 ).getConstraintValueType() );
        assertEquals"(not needed)",
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 0 ).getFactField() );
        assertEquals"Person2",
                      tsdt.getPatterntsdt.getConditionPattern"f2" ).getChildColumns().get( 0 ) ).getFactType() );
        assertEquals"Person2 f2 not needed",
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 0 ).getHeader() );
        assertEqualsnull,
                      tsdt.getConditionPattern"f2" ).getChildColumns().get( 0 ).getOperator() );
        assertEquals( 2,
                      tsdt.getData().size() );
        for ( int i = 0; i < 2; i++ ) {
            ..println"Row-" + i );
            StringBuilder sb = new StringBuilder();
            for ( DTCellValue52 c : tsdt.getData().geti ) ) {
                sb.appendc.getStringValue() + ", " );
            }
            sb.deletesb.lastIndexOf"," ),
                       sb.length() );
            ..printlnsb.toString() );
        }
        assertEqualsnew Integer( 1 ),
                      (Integertsdt.getData().get( 0 ).get( 0 ).getNumericValue() );
        assertEquals"desc",
                      tsdt.getData().get( 0 ).get( 1 ).getStringValue() );
        assertEquals"z1c1r1",
                      tsdt.getData().get( 0 ).get( 2 ).getStringValue() );
        assertEquals"z1c2r1",
                      tsdt.getData().get( 0 ).get( 3 ).getStringValue() );
        assertEquals"f1c1r1",
                      tsdt.getData().get( 0 ).get( 4 ).getStringValue() );
        assertEquals"f2c1r1",
                      tsdt.getData().get( 0 ).get( 5 ).getStringValue() );
        assertEqualsnew Integer( 2 ),
                      (Integertsdt.getData().get( 1 ).get( 0 ).getNumericValue() );
        assertEquals"desc",
                      tsdt.getData().get( 1 ).get( 1 ).getStringValue() );
        assertEquals"z1c1r2",
                      tsdt.getData().get( 1 ).get( 2 ).getStringValue() );
        assertEquals"z1c2r2",
                      tsdt.getData().get( 1 ).get( 3 ).getStringValue() );
        assertEquals"f1c1r2",
                      tsdt.getData().get( 1 ).get( 4 ).getStringValue() );
        assertEquals"f2c1r2",
                      tsdt.getData().get( 1 ).get( 5 ).getStringValue() );
        isRowEquivalenttsdt.getData().get( 0 ),
                         expected[ 0 ] );
        isRowEquivalenttsdt.getData().get( 1 ),
                         expected[ 1 ] );
    }
    private boolean isEqualOrNullObject v1,
                                   Object v2 ) {
        if ( v1 == null && v2 == null ) {
            return true;
        }
        if ( v1 != null && v2 == null ) {
            return false;
        }
        if ( v1 == null && v2 != null ) {
            return false;
        }
        return v1.equalsv2 );
    }
New to GrepCode? Check out our FAQ X