### Question:
BasePopupManager implements PopupManager { @Override public void attach(Cell cell) { for (CellPropertySpec<Cell> ps : Cell.POPUP_SPECS) { Cell popup = cell.get(ps); if (popup != null) { onEvent(new PropertyChangeEvent<>(null, popup)); } } }  @Override void dispose(); @Override void attach(Cell cell); @Override final void onPopupPropertyChanged(Cell popup, CellPropertySpec<?> prop, PropertyChangeEvent<?> change); @Override final void onEvent(PropertyChangeEvent<Cell> event); @Override final void updatePopupPositions();  }### Answer:
@Test public void attachWithoutPopups() { manager.attach(cell); assertEquals(0, manager.updatesCount); assertEquals(0, manager.attachCount); }
@Test public void attachWithPopup() { cell.bottomPopup().set(new TextCell()); manager.attach(cell); assertEquals(1, manager.updatesCount); assertEquals(1, manager.attachCount); }