TimesheetDayChangePresenterImplEx extends TimesheetDayChangePresenterImpl implements TimesheetDayChangePresenterEx,
		TimesheetDayChangeViewEx.Observer, HoursChangeObserver { @Override public void onAdditionalEntry() { TimesheetDayEntry newEntry = new TimesheetDayEntry(); getTimesheetDay().addEntry(newEntry); TimesheetDayEntryChangePresenterEx entryPresenter = presenterFactory.createTimesheetDayEntryChangePresenter(null); entryPresenter.setTimesheetDayEntry(newEntry); entryPresenter.setProjectList(getProjectList()); entryPresenter.setHoursChangeObserver(this); entryPresenters.add(entryPresenter); entryPresenter.startPresenting(); getView().addTimesheetDayEntryView(entryPresenter.getView()); } TimesheetDayChangePresenterImplEx(Map<String, Object> context, PresenterFactoryEx presenterFactory, TimesheetDayChangeViewEx view, Presenter returnPresenter,
			TimesheetDayService service);  TimesheetDayChangePresenterImplEx(Map<String, Object> context, PresenterFactoryEx presenterFactory, TimesheetDayChangeViewEx view, Presenter returnPresenter,
			SubviewCapablePresenter capablePresenter, TimesheetDayService service);  TimesheetDayChangePresenterImplEx(Map<String, Object> context,
			TimesheetDayChangeViewEx view, Presenter returnPresenter,
			TimesheetDayService service); @Override TimesheetDayChangeViewEx getView(); @Override void startPresenting(); @Override void loadFromModel(); @Override boolean validateFields(); @Override void saveToModel(); @Override void onAdditionalEntry(); @Override void onSave(); @Override void onCancel(); @Override void onRemove(); @Override List<Project> getProjectList(); @Override void setProjectList(List<Project> projectList); @Override void setHoursChangeObserver(HoursChangeObserver observer); @Override void hoursChanged(Project project);  }
@Test public void testOnAdditionalEntry() { presenterImpl.onAdditionalEntry(); assertEquals(4, timesheetDay.getEntries().size()); verify(presenterFactory, times(1)).createTimesheetDayEntryChangePresenter(null); verify(entryChangePresenter, times(1)).setTimesheetDayEntry(any(TimesheetDayEntry.class)); verify(entryChangePresenter, times(1)).setProjectList(anyListOf(Project.class)); verify(entryChangePresenter, times(1)).setHoursChangeObserver(presenterImpl); verify(entryChangePresenter, times(1)).startPresenting(); verify(view, times(1)).addTimesheetDayEntryView(any(TimesheetDayEntryChangeView.class)); }