### Question:
SelectableStudyCharTableModel extends StudyCharTableModel { @Override public String getColumnName(int columnIndex) { if (columnIndex == 0) { return ""; } return super.getColumnName(columnIndex - 1); } SelectableStudyCharTableModel(StudyListPresentation source, PresentationModelFactory pmf); ObservableList<Study> getAvailableStudies(); ObservableList<Study> getSelectedStudiesModel(); ModifiableHolder<Boolean> getSelectedStudyBooleanModel(Study s); @Override int getColumnCount(); @Override Class<?> getColumnClass(int c); @Override Object getValueAt(int rowIndex, int columnIndex); @Override String getColumnName(int columnIndex); @Override boolean isCellEditable(int rowIndex, int columnIndex); @Override void setValueAt(Object newValue, int rowIndex, int columnIndex);  }### Answer:
@Test public void testGetColumnName() { assertEquals("Study ID", d_model.getColumnName(1)); assertEquals("", d_model.getColumnName(0)); int column = 2; for (Characteristic c : BasicStudyCharacteristic.values()) { assertEquals(c.getDescription(), d_model.getColumnName(column)); ++column; } }