@Test
public void testColumnVisibilityAction() {

    JXTable table = new JXTable(10, 3);
    table.setColumnControlVisible(true);
    ColumnControlButton columnControl = (ColumnControlButton) table.getColumnControl();
    ColumnVisibilityAction action = columnControl.getColumnVisibilityActions().get(0);
    TableColumnExt columnExt = table.getColumnExt(0);
    boolean visible = columnExt.isVisible();
    // sanity
    assertTrue(visible);
    assertEquals(columnExt.isVisible(), action.isSelected());
    action.setSelected(!visible);
    // hmmm... here it's working? unexpected
    // synch might be done by the listener's installed by ActionFactor.createMenuItem()?
    assertEquals(!visible, columnExt.isVisible());
}