RowExpander { public List<ColumnValues> getColumns() { return this.columns; } RowExpander(final GuidedDecisionTable52 model,
                       final AsyncPackageDataModelOracle oracle); List<ColumnValues> getColumns(); RowIterator iterator(); void setExpandColumn(final BaseColumn column,
                                final boolean expandColumn);  }
@SuppressWarnings("serial") @Test public void testColumnValues() { GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("name", String.class.getName(), ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.BOTH, DataType.TYPE_STRING)) .end() .build(); final PackageDataModelOracle packageLoader = PackageDataModelOracleBuilder.newPackageOracleBuilder(new RawMVELEvaluator()) .setModuleOracle(projectLoader) .build(); final AsyncPackageDataModelOracle oracle = getOracle(); final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload(); dataModel.setModelFields(projectLoader.getModuleModelFields()); dataModel.setWorkbenchEnumDefinitions(packageLoader.getPackageWorkbenchDefinitions()); populateDataModelOracle(mock(Path.class), model, oracle, dataModel); Pattern52 p1 = new Pattern52(); p1.setBoundName("c1"); p1.setFactType("Driver"); ConditionCol52 c1 = new ConditionCol52(); c1.setFactField("name"); c1.setOperator("=="); c1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); c1.setValueList("c1a,c1b"); p1.getChildColumns().add(c1); model.getConditions().add(p1); RowExpander re = new RowExpander(model, oracle); List<RowExpander.ColumnValues> columns = re.getColumns(); assertEquals(4, columns.size()); assertEquals("", columns.get(0).getCurrentValue().getStringValue()); assertEquals("", columns.get(1).getCurrentValue().getStringValue()); assertEquals("", columns.get(2).getCurrentValue().getStringValue()); assertEquals("c1a", columns.get(3).getCurrentValue().getStringValue()); columns.get(3).advanceColumnValue(); assertEquals("c1b", columns.get(3).getCurrentValue().getStringValue()); columns.get(3).advanceColumnValue(); assertEquals("c1a", columns.get(3).getCurrentValue().getStringValue()); columns.get(3).advanceColumnValue(); assertEquals("c1b", columns.get(3).getCurrentValue().getStringValue()); }