use of org.drools.workbench.models.guided.dtable.shared.model.Pattern52 in project drools-wb by kiegroup.
the class ConditionColumnSynchronizerTest method testMoveColumnTo_OutOfBounds_OutOfPattern.
@Test
public void testMoveColumnTo_OutOfBounds_OutOfPattern() throws VetoException {
final Pattern52 pattern1 = boundApplicantPattern("$a");
final ConditionCol52 column1p1 = ageEqualsCondition();
modelSynchronizer.appendColumn(pattern1, column1p1);
final ConditionCol52 column2p1 = nameEqualsCondition();
modelSynchronizer.appendColumn(pattern1, column2p1);
final Pattern52 pattern2 = boundApplicantPattern("$a2");
final ConditionCol52 column1p2 = nameEqualsCondition();
modelSynchronizer.appendColumn(pattern2, column1p2);
modelSynchronizer.appendRow();
uiModel.setCellValue(0, 2, new BaseGridCellValue<Integer>(45));
uiModel.setCellValue(0, 3, new BaseGridCellValue<String>("Fred"));
uiModel.setCellValue(0, 4, new BaseGridCellValue<String>("Smurf"));
assertEquals(2, model.getPatterns().size());
final List<ConditionCol52> conditionColumns1_1 = model.getPatterns().get(0).getChildColumns();
assertEquals(column1p1, conditionColumns1_1.get(0));
assertEquals(column2p1, conditionColumns1_1.get(1));
final List<ConditionCol52> conditionColumns2_1 = model.getPatterns().get(1).getChildColumns();
assertEquals(column1p2, conditionColumns2_1.get(0));
assertEquals(45, model.getData().get(0).get(2).getNumericValue());
assertEquals("Fred", model.getData().get(0).get(3).getStringValue());
assertEquals("Smurf", model.getData().get(0).get(4).getStringValue());
assertEquals(5, uiModel.getColumns().size());
final GridColumn<?> uiModelColumn1_1 = uiModel.getColumns().get(2);
final GridColumn<?> uiModelColumn2_1 = uiModel.getColumns().get(3);
final GridColumn<?> uiModelColumn3_1 = uiModel.getColumns().get(4);
assertEquals("$a : Applicant", uiModelColumn1_1.getHeaderMetaData().get(0).getTitle());
assertEquals("$a : Applicant", uiModelColumn2_1.getHeaderMetaData().get(0).getTitle());
assertEquals("$a2 : Applicant", uiModelColumn3_1.getHeaderMetaData().get(0).getTitle());
assertTrue(uiModelColumn1_1 instanceof IntegerUiColumn);
assertTrue(uiModelColumn2_1 instanceof StringUiColumn);
assertTrue(uiModelColumn3_1 instanceof StringUiColumn);
assertEquals(2, uiModelColumn1_1.getIndex());
assertEquals(3, uiModelColumn2_1.getIndex());
assertEquals(4, uiModelColumn3_1.getIndex());
assertEquals(45, uiModel.getRow(0).getCells().get(uiModelColumn1_1.getIndex()).getValue().getValue());
assertEquals("Fred", uiModel.getRow(0).getCells().get(uiModelColumn2_1.getIndex()).getValue().getValue());
assertEquals("Smurf", uiModel.getRow(0).getCells().get(uiModelColumn3_1.getIndex()).getValue().getValue());
uiModel.moveColumnTo(4, uiModelColumn1_1);
assertEquals(2, model.getPatterns().size());
final List<ConditionCol52> conditionColumns1_2 = model.getPatterns().get(0).getChildColumns();
assertEquals(column1p1, conditionColumns1_2.get(0));
assertEquals(column2p1, conditionColumns1_2.get(1));
final List<ConditionCol52> conditionColumns2_2 = model.getPatterns().get(1).getChildColumns();
assertEquals(column1p2, conditionColumns2_2.get(0));
assertEquals(45, model.getData().get(0).get(2).getNumericValue());
assertEquals("Fred", model.getData().get(0).get(3).getStringValue());
assertEquals("Smurf", model.getData().get(0).get(4).getStringValue());
assertEquals(5, uiModel.getColumns().size());
final GridColumn<?> uiModelColumn1_2 = uiModel.getColumns().get(2);
final GridColumn<?> uiModelColumn2_2 = uiModel.getColumns().get(3);
final GridColumn<?> uiModelColumn3_2 = uiModel.getColumns().get(4);
assertEquals("$a : Applicant", uiModelColumn1_2.getHeaderMetaData().get(0).getTitle());
assertEquals("$a : Applicant", uiModelColumn2_2.getHeaderMetaData().get(0).getTitle());
assertEquals("$a2 : Applicant", uiModelColumn3_2.getHeaderMetaData().get(0).getTitle());
assertTrue(uiModelColumn1_2 instanceof IntegerUiColumn);
assertTrue(uiModelColumn2_2 instanceof StringUiColumn);
assertTrue(uiModelColumn3_2 instanceof StringUiColumn);
assertEquals(2, uiModelColumn1_2.getIndex());
assertEquals(3, uiModelColumn2_2.getIndex());
assertEquals(4, uiModelColumn3_2.getIndex());
assertEquals(45, uiModel.getRow(0).getCells().get(uiModelColumn1_2.getIndex()).getValue().getValue());
assertEquals("Fred", uiModel.getRow(0).getCells().get(uiModelColumn2_2.getIndex()).getValue().getValue());
assertEquals("Smurf", uiModel.getRow(0).getCells().get(uiModelColumn3_2.getIndex()).getValue().getValue());
}
use of org.drools.workbench.models.guided.dtable.shared.model.Pattern52 in project drools-wb by kiegroup.
the class ConditionColumnSynchronizerTest method testAppendBoolean.
@Test
public void testAppendBoolean() throws VetoException {
// Single Pattern, single Condition
final Pattern52 pattern = boundApplicantPattern("$a");
final ConditionCol52 condition = new ConditionCol52();
condition.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
condition.setHeader("col1");
condition.setFactField("approved");
condition.setOperator("==");
// Test column append
modelSynchronizer.appendColumn(pattern, condition);
modelSynchronizer.appendRow();
assertEquals(3, model.getExpandedColumns().size());
assertEquals(1, model.getConditions().size());
assertEquals(1, model.getConditionPattern("$a").getChildColumns().size());
assertEquals(3, uiModel.getColumns().size());
assertTrue(uiModel.getColumns().get(2) instanceof BooleanUiColumn);
// Test row append (boolean cells should be instantiated for Model and UiModel)
modelSynchronizer.appendRow();
assertFalse(model.getData().get(0).get(2).getBooleanValue());
assertFalse(((Boolean) uiModel.getRow(0).getCells().get(2).getValue().getValue()));
}
use of org.drools.workbench.models.guided.dtable.shared.model.Pattern52 in project drools-wb by kiegroup.
the class ConditionColumnSynchronizerTest method checkConditionCanBeDeletedWithMultipleChildColumns.
@Test
public void checkConditionCanBeDeletedWithMultipleChildColumns() throws VetoException {
final Pattern52 pattern = boundApplicantPattern("$a");
final ConditionCol52 condition1 = ageEqualsCondition();
final ConditionCol52 condition2 = nameEqualsCondition();
modelSynchronizer.appendColumn(pattern, condition1);
modelSynchronizer.appendColumn(pattern, condition2);
try {
modelSynchronizer.deleteColumn(condition2);
} catch (VetoException veto) {
fail("Deletion should have been permitted.");
}
assertEquals(3, model.getExpandedColumns().size());
assertTrue(model.getExpandedColumns().get(0) instanceof RowNumberCol52);
assertTrue(model.getExpandedColumns().get(1) instanceof DescriptionCol52);
assertEquals(condition1, model.getExpandedColumns().get(2));
}
use of org.drools.workbench.models.guided.dtable.shared.model.Pattern52 in project drools-wb by kiegroup.
the class ConditionColumnSynchronizerTest method testUpdate4.
@Test
public void testUpdate4() throws VetoException {
// Multiple Patterns, multiple Conditions
final Pattern52 pattern1 = spy(boundApplicantPattern("$a"));
final ConditionCol52 condition1 = spy(ageEqualsCondition());
modelSynchronizer.appendColumn(pattern1, condition1);
final Pattern52 editedPattern = boundAddressPattern("$d");
final ConditionCol52 editedCondition = new ConditionCol52();
editedCondition.setWidth(condition1.getWidth());
editedCondition.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
editedCondition.setHeader("col1");
editedCondition.setFactField("country");
editedCondition.setOperator("==");
List<BaseColumnFieldDiff> diffs = modelSynchronizer.updateColumn(pattern1, condition1, editedPattern, editedCondition);
assertEquals(3, diffs.size());
verify(pattern1).diff(editedPattern);
verify(condition1).diff(editedCondition);
assertEquals(3, model.getExpandedColumns().size());
assertEquals(1, model.getConditions().size());
assertNull(model.getConditionPattern("$a"));
assertEquals(1, model.getConditionPattern("$d").getChildColumns().size());
assertEquals(3, uiModel.getColumns().size());
assertTrue(uiModel.getColumns().get(2) instanceof StringUiColumn);
assertEquals(editedPattern.getBoundName() + " : " + editedPattern.getFactType(), uiModel.getColumns().get(2).getHeaderMetaData().get(0).getTitle());
assertEquals(editedCondition.getHeader(), uiModel.getColumns().get(2).getHeaderMetaData().get(1).getTitle());
}
use of org.drools.workbench.models.guided.dtable.shared.model.Pattern52 in project drools-wb by kiegroup.
the class ConditionColumnSynchronizerTest method testDelete2.
@Test
public void testDelete2() throws VetoException {
// Single Pattern, multiple Conditions
final Pattern52 pattern = boundApplicantPattern("$a");
final ConditionCol52 condition1 = ageEqualsCondition();
modelSynchronizer.appendColumn(pattern, condition1);
final ConditionCol52 condition2 = nameEqualsCondition();
modelSynchronizer.appendColumn(pattern, condition2);
assertEquals(4, model.getExpandedColumns().size());
assertEquals(1, model.getConditions().size());
assertEquals(4, uiModel.getColumns().size());
modelSynchronizer.deleteColumn(condition1);
assertEquals(3, model.getExpandedColumns().size());
assertEquals(1, model.getConditions().size());
assertEquals(1, model.getConditionPattern("$a").getChildColumns().size());
assertEquals(3, uiModel.getColumns().size());
}
Aggregations