@Test
public void testUpdate() throws VetoException {

    //Add a Pattern to be updated
    final Pattern52 pattern = new Pattern52();
    pattern.setBoundName("$a");
    pattern.setFactType("Applicant");
    final ConditionCol52 condition = new ConditionCol52();
    condition.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
    condition.setHeader("col1");
    condition.setFactField("age");
    condition.setOperator("==");
    modelSynchronizer.appendColumn(pattern,
                                   condition);
    final ActionSetFieldCol52 column = spy(new ActionSetFieldCol52());
    column.setHeader("col1");
    column.setBoundName("$a");
    column.setFactField("age");
    modelSynchronizer.appendColumn(column);
    final ActionSetFieldCol52 edited = new ActionSetFieldCol52();
    edited.setWidth(column.getWidth());
    edited.setBoundName("$a");
    edited.setFactField("name");
    edited.setHideColumn(true);
    edited.setHeader("updated");
    List<BaseColumnFieldDiff> diffs = modelSynchronizer.updateColumn(column,
                                                                     edited);
    assertEquals(3,
                 diffs.size());
    verify(column).diff(edited);
    assertEquals(1,
                 model.getConditions().size());
    assertEquals(1,
                 model.getActionCols().size());
    assertEquals(5,
                 uiModel.getColumns().size());
    assertTrue(uiModel.getColumns().get(4) instanceof StringUiColumn);
    assertEquals("updated",
                 uiModel.getColumns().get(4).getHeaderMetaData().get(1).getTitle());
    assertEquals(false,
                 uiModel.getColumns().get(4).isVisible());
}