package com.carrotsearch.junitbenchmarks;
import static org.junit.Assert.assertTrue;
import java.io.*;
/**
* Common test utilities.
*/
public final class Common
{
private Common()
{
// no instances.
}
/*
*
*/
public static void existsAndDelete(String fileName)
{
existsAndDelete(new File(fileName));
}
/*
*
*/
public static void existsAndDelete(File f)
{
assertTrue(f.exists());
assertTrue(f.delete());
}
/*
*
*/
public static String getAndDelete(File file) throws IOException
{
assertTrue(file.exists());
assertTrue(file.isFile() && file.canRead());
InputStream is = new FileInputStream(file);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
final byte [] buffer = new byte [1024];
int cnt;
while ((cnt = is.read(buffer)) > 0) {
baos.write(buffer, 0, cnt);
}
is.close();
baos.close();
assertTrue(file.delete());
return new String(baos.toByteArray(), "UTF-8");
}
/**
* Delete recursively.
*/
public static boolean deleteDir(File dir)
{
if (!dir.exists()) return true;
File [] subfiles = dir.listFiles();
if (subfiles.length > 0)
{
for (File f : subfiles)
{
if (f.isFile())
f.delete();
else
deleteDir(f);
}
}
return dir.delete();
}
}