### Question:
BnTable extends JTable implements View<IListPM<? extends PresentationModel>>, ModelSubscriber { public void setPath(Path path) { this.link.setPath(path); } BnTable(); boolean isCellEditingAllowed(); void setCellEditingAllowed(boolean newValue); boolean isSortable(); void setSortable(boolean newValue); IListPM<? extends PresentationModel> getPresentationModel(); void setPresentationModel(IListPM<? extends PresentationModel> newModel); IModelProvider getModelProvider(); void setModelProvider(IModelProvider provider); Path getPath(); void setPath(Path path); BnColumn[] getColumns(); void addColumn(BnColumn newCol); void setColumns(BnColumn[] newCols); @Override void columnMarginChanged(ChangeEvent e);  }### Answer:
@Test public void testSetPath() { this.table.setModelProvider(provider); this.table.setColumns(this.def); this.provider.setPresentationModel(this.groupModel); assertEquals("table.getRowCount()", 0, table.getRowCount()); assertEquals("table.getColumnCount()", 2, table.getColumnCount()); this.table.setPath(new Path("this.persons")); assertEquals("table.getRowCount()", this.groupModel.persons.size(), table.getRowCount()); assertEquals("table.getColumnCount()", this.def.length, table.getColumnCount()); }