All Downloads are FREE. Search and download functionalities are using the official Maven repository.

mockit.coverage.AccretionFile Maven / Gradle / Ivy

Go to download

JMockit is a Java toolkit for automated developer testing. It contains APIs for the creation of the objects to be tested, for mocking dependencies, and for faking external APIs; JUnit (4 & 5) and TestNG test runners are supported. It also contains an advanced code coverage tool.

There is a newer version: 1.49
Show newest version
/*
 * Copyright (c) 2006 Rogério Liesenfeld
 * This file is subject to the terms of the MIT license (see LICENSE.txt).
 */
package mockit.coverage;

import java.io.*;
import javax.annotation.*;

import mockit.coverage.data.*;

final class AccretionFile
{
   @Nonnull private final File outputFile;
   @Nonnull private final CoverageData newData;

   AccretionFile(@Nonnull String outputDir, @Nonnull CoverageData newData)
   {
      String parentDir = Configuration.getOrChooseOutputDirectory(outputDir);
      outputFile = new File(parentDir, "coverage.ser");

      newData.fillLastModifiedTimesForAllClassFiles();
      this.newData = newData;
   }

   void mergeDataFromExistingFileIfAny() throws IOException
   {
      if (outputFile.exists()) {
         CoverageData previousData = CoverageData.readDataFromFile(outputFile);
         newData.merge(previousData);
      }
   }

   void generate() throws IOException
   {
      newData.writeDataToFile(outputFile);
      System.out.println("JMockit: Coverage data written to " + outputFile.getCanonicalPath());
   }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy