/** * This file is licensed under the University of Illinois/NCSA Open Source License. See LICENSE.TXT for details. */ package edu.illinois.codingtracker.tests; import java.io.File; import org.junit.BeforeClass; import edu.illinois.codingtracker.operations.JavaProjectsUpkeeper; import edu.illinois.codingtracker.recording.KnownFilesRecorder; import edu.illinois.codingtracker.recording.TextRecorder; /** * * @author Stas Negara * */ public abstract class CodingTrackerTest { protected static File mainRecordFile= new File(TextRecorder.getMainRecordFilePath()); private static File knownFilesFolder= new File(KnownFilesRecorder.getKnownFilesPath()); @BeforeClass public static void before() { //First clear workspace, then clear the record (otherwise, the record file may get spurious operations due to closing editors), //and finally reset the known files. JavaProjectsUpkeeper.clearWorkspace(); mainRecordFile.delete(); resetKnownFiles(); } private static void resetKnownFiles() { KnownFilesRecorder.getInstance().reset(); clearFolderRecursively(knownFilesFolder); } private static void clearFolderRecursively(File folder) { if (folder.exists()) { for (File file : folder.listFiles()) { if (file.isDirectory()) { clearFolderRecursively(file); } else { file.delete(); } } folder.delete(); } } }