Package org.cishell.testing.convertertester.core.tester2.reportgen.alltests

Source Code of org.cishell.testing.convertertester.core.tester2.reportgen.alltests.AllTestsReportGenerator

package org.cishell.testing.convertertester.core.tester2.reportgen.alltests;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;

import org.cishell.testing.convertertester.core.tester2.reportgen.ReportGenerator;
import org.cishell.testing.convertertester.core.tester2.reportgen.reports.AllTestsReport;
import org.cishell.testing.convertertester.core.tester2.reportgen.reports.TestReport;
import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllConvsResult;
import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllTestsResult;
import org.cishell.testing.convertertester.core.tester2.reportgen.results.TestResult;
import org.osgi.service.log.LogService;

public class AllTestsReportGenerator implements ReportGenerator {

  public static final String TEMP_FILE_PATH = "all-tests-report.txt";

  private AllTestsReport allTestsReport;

  private TestReportSubGenerator testResultSubGen;
 
  private LogService log;
 
  public AllTestsReportGenerator(LogService log) {
    this.log = log;
   
    this.testResultSubGen = new TestReportSubGenerator(this.log);
  }

  public void generateReport(AllTestsResult atr,
                 AllConvsResult acr,
                 File nwbConvGraph) {
    FileOutputStream reportOutStream = null;
    try {
      File reportFile = new File(TEMP_DIR + TEMP_FILE_PATH);
      reportOutStream = new FileOutputStream(reportFile);
      PrintStream report = new PrintStream(reportOutStream);
     
      report.println("ALL TESTS REPORT");
      report.println("-----------------------------------------------");
      report.println("");
      report.println("Summary...");
      report.println("  # Completely Passed Tests: " +
          atr.getNumTestsPassed());
      report.println("  # Partially Passed Tests : " +
          atr.getNumTestsPartialPassed());
      report.println("  # Compleley Failed Tests : " +
          atr.getNumTestsCompletelyFailed());
      report.println("  Total                    : " +
          atr.getNumTests());
      report.println("");
     
      TestResult[] passedTRs = atr.getPassedTestResults();
      report.println("Completely Passed Tests...");
      for (int ii = 0; ii < passedTRs.length; ii++) {
        TestResult passedTR = passedTRs[ii];
        report.println("  " + passedTR.getNameWithSuccess());
      }
      report.println("");
     
      TestResult[] pPassedTRs = atr.getPartialPassedTestResults();
      report.println("Partially Passed Tests...");
      for (int ii = 0; ii < pPassedTRs.length; ii++) {
        TestResult pPassedTR = pPassedTRs[ii];
        report.println("  " + pPassedTR.getNameWithSuccess());
      }
     
      report.println("");
     
      report.println("Completely Failed Tests...");
      TestResult[] failedTRs = atr.getFailedTestResults();
      for (int ii = 0; ii < failedTRs.length; ii++) {
        TestResult failedTR = failedTRs[ii];
        report.println("  " + failedTR.getNameWithSuccess());
      }
      report.println("");
     
      List passedTRReports = new ArrayList();
      for (int ii = 0; ii < passedTRs.length; ii++) {
        TestResult passedTR = passedTRs[ii];
       
        this.testResultSubGen.generateSubreport(passedTR);
        TestReport testReport = testResultSubGen.getTestReport();
       
        passedTRReports.add(testReport);
      }
     
      List pPassedTRReports = new ArrayList();
      for (int ii = 0; ii < pPassedTRs.length; ii++) {
        TestResult pPassedTR = pPassedTRs[ii];
       
        this.testResultSubGen.generateSubreport(pPassedTR);
        TestReport testReport = testResultSubGen.getTestReport();
       
        pPassedTRReports.add(testReport);
      }
     
      List failedTRReports = new ArrayList();
      for (int ii = 0; ii < failedTRs.length; ii++) {
        TestResult failedTR = failedTRs[ii];
       
        this.testResultSubGen.generateSubreport(failedTR);
        TestReport testReport = testResultSubGen.getTestReport();
       
        failedTRReports.add(testReport);
      }
     
      this.allTestsReport = new AllTestsReport(reportFile,
        "All Test Reports",
        (TestReport[]) passedTRReports.toArray(new TestReport[0]),
        (TestReport[]) pPassedTRReports.toArray(new TestReport[0]),
        (TestReport[]) failedTRReports.toArray(new TestReport[0]));
    } catch (IOException e) {
      this.log.log(LogService.LOG_ERROR,
          "Unable to generate all tests report.", e)
      closeStream(reportOutStream);
    } finally {
      closeStream(reportOutStream);
    }
  }
 
  public AllTestsReport getAllTestsReport() {
    return this.allTestsReport;
  }
 
  private void closeStream(FileOutputStream stream) {
    try {
      if (stream != null) {
        stream.close();
      }
    } catch (IOException e2) {
      this.log.log(LogService.LOG_ERROR,
          "Unable to close all tests report stream", e2);
    }
  }


}
TOP

Related Classes of org.cishell.testing.convertertester.core.tester2.reportgen.alltests.AllTestsReportGenerator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.