AllScenariosPageCollection extends PageCollection implements Visitable { long getTotalDuration() { return reports.stream().mapToLong(Report::getTotalDuration).sum(); } AllScenariosPageCollection(final String pageTitle); List<Report> getReports(); void clearReports(); void addReports(final Report[] reportList); int getTotalNumberOfScenarios(); boolean hasFailedScenarios(); boolean hasPassedScenarios(); boolean hasSkippedScenarios(); int getTotalNumberOfPassedScenarios(); int getTotalNumberOfFailedScenarios(); int getTotalNumberOfSkippedScenarios(); String getTotalDurationString(); String returnStartDateTimeString(); String returnEndDateTimeString(); List<CustomParameter> getCustomParameters(); void setCustomParameters(final List<CustomParameter> customParameters); boolean hasCustomParameters(); Tag getTagFilter(); void setTagFilter(final Tag tagFilter); Feature getFeatureFilter(); void setFeatureFilter(final Feature featureFilter); Step getStepFilter(); void setStepFilter(final Step stepFilter); @Override Object clone(); @Override void accept(final PageVisitor visitor);  }
@Test public void getTotalDurationDefaultValueTest() { long totalDuration = allScenariosPageCollection.getTotalDuration(); assertThat(totalDuration, is(0L)); }
@Test public void getTotalDurationTest() { Report report = mock(Report.class); when(report.getTotalDuration()).thenReturn(5000000000L); Report[] reports = new Report[]{report, report}; allScenariosPageCollection.addReports(reports); long totalDuration = allScenariosPageCollection.getTotalDuration(); assertThat(totalDuration, is(10000000000L)); }