### Question:
PentahoReportUrl implements ReportUrl { @Override public Map<String, String> getNewReportUrlList() { Map<String, String> urlsMap = new TreeMap<>(); String serverFormUrl = reportsConfig.getServerUrl(); String serverFormPort = String.valueOf(reportsConfig.getServerPort()); for (Map.Entry<String, String> entry : reportsConfig.getReportToUrlMap().entrySet()) { String keyStr = entry.getKey(); ReportName enumName = ReportName.valueOf(keyStr); urlsMap.put(enumName.getDisplayName(), formulateUrl(serverFormUrl, serverFormPort, entry.getValue())); } return urlsMap; }  @Override String getNewReportUrl(String reportName); String getReportUrlPath(String reportName); @Override Map<String, String> getNewReportUrlList(); String getReportsUrl(); PentahoReportsConfig getReportsConfig(); void setReportsConfig(PentahoReportsConfig reportsConfig);  }### Answer:
@Test public void getNewReportUrlList() { expect(reportsConfig.getServerUrl()).andReturn(PENTAHO_SERVER_URL); expect(reportsConfig.getServerPort()).andReturn(PENTAHO_SERVER_PORT); expect(reportsConfig.getReportToUrlMap()).andReturn(reportsProperties); replayAll(); Map<String, String> urlMap = reportUrl.getNewReportUrlList(); verifyAll(); assertTrue(urlMap.containsKey(ReportName.COMPLAINT_REPORT.getDisplayName())); assertEquals(PENTAHO_SERVER_URL + ":" + PENTAHO_SERVER_PORT + COMPLAINT_REPORT, urlMap.get(ReportName.COMPLAINT_REPORT.getDisplayName())); assertTrue(urlMap.containsKey(ReportName.BILLING_REPORT.getDisplayName())); assertEquals(PENTAHO_SERVER_URL + ":" + PENTAHO_SERVER_PORT + BILLING_REPORT, urlMap.get(ReportName.BILLING_REPORT.getDisplayName())); }