public void testStartSection() throws Exception {
   ReportFormat rf = new ReportFormat();
   String startSection = "start";
   rf.setDocumentStartSection(startSection);
   ReportOutput result = runReportOnSampleData(rf);
   assertEquals("didn't output start section?", startSection, result.getDocumentStart());
 }
  public void testOmitDetail() throws Exception {
    String sampleDate = "2004-06-19";
    MockMartusApp app = createAppWithBulletinsForBreaks(sampleDate);
    RunReportOptions options = new RunReportOptions();
    options.includePrivate = true;
    options.printBreaks = true;

    ReportFormat rf = new ReportFormat();
    rf.setDocumentStartSection("Start ");
    rf.setDetailSection("Detail ");
    rf.setBreakSection("Break ");
    rf.setHeaderSection("Header ");
    rf.setFooterSection("Footer ");
    rf.setTotalBreakSection("TotalBreak ");
    rf.setTotalSection("Total ");
    rf.setDocumentEndSection("End ");
    rf.setFakePageBreakSection(". ");

    ReportOutput sortByAuthorSummaryWithDetail = runReportOnAppData(rf, app, options);
    assertEquals(
        "Start Header Detail Detail Break Detail Break Break Detail Break Break TotalBreak Footer . End ",
        sortByAuthorSummaryWithDetail.getPrintableDocument());

    options.hideDetail = true;
    ReportOutput sortByAuthorSummaryWithoutDetail = runReportOnAppData(rf, app, options);
    assertEquals("Start Total . End ", sortByAuthorSummaryWithoutDetail.getPrintableDocument());

    rf.setBulletinPerPage(true);
    options.hideDetail = false;
    ReportOutput pageWithDetail = runReportOnAppData(rf, app, options);
    assertEquals(
        "Start Header Detail Footer . Header Detail Footer . Header Detail Footer . Header Detail Footer . Total . End ",
        pageWithDetail.getPrintableDocument());

    options.hideDetail = true;
    ReportOutput pageWithoutDetail = runReportOnAppData(rf, app, options);
    assertEquals("Start Total . End ", pageWithoutDetail.getPrintableDocument());
  }