/*
* FileSystemUtilsTest.java
*
* Created on Jun 30, 2008, 10:04:55 AM
*
* Description: .
*
* Copyright (C) Nov 3, 2011 reed.
*
* This program is free software; you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with this program;
* if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
package org.texai.util;
import java.io.IOException;
import org.apache.log4j.Logger;
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
/**
*
* @author reed
*/
public class FileSystemUtilsTest {
/** the logger */
public static final Logger LOGGER = Logger.getLogger(FileSystemUtilsTest.class);
public FileSystemUtilsTest() {
}
@BeforeClass
public static void setUpClass() throws Exception {
}
@AfterClass
public static void tearDownClass() throws Exception {
}
@Before
public void setUp() {
}
@After
public void tearDown() {
}
/**
* Test of deleteRecursively method, of class FileSystemUtils.
*/
@Test
public void testDeleteRecursively() {
LOGGER.info("deleteRecursively");
final File root = new File("data/test-directory-archive");
FileSystemUtils.deleteRecursively(root);
assertFalse(root.exists());
}
/**
* Test of archiveDirectory method, of class FileSystemUtils.
*/
@Test
public void testArchiveDirectory() {
LOGGER.info("archiveDirectory");
final File sourceDirectory = new File("data/test-directory");
final File destinationDirectory = new File("data/test-directory-archive");
FileSystemUtils.archiveDirectory(sourceDirectory, destinationDirectory);
assertTrue(destinationDirectory.exists());
assertTrue((new File("data/test-directory-archive/file1.txt")).exists());
assertTrue((new File("data/test-directory-archive/file2.txt")).exists());
assertTrue((new File("data/test-directory-archive/file3.txt")).exists());
try {
Thread.sleep(1_000);
} catch (InterruptedException ex) {
}
File sourceFile1 = new File("data/test-directory/file1.txt");
final long sourceFile1PreviousLastModified = sourceFile1.lastModified();
File destinationFile1 = new File("data/test-directory-archive/file1.txt");
final long destinationFile1PreviousLastModified = destinationFile1.lastModified();
assertEquals(sourceFile1PreviousLastModified, destinationFile1PreviousLastModified);
try {
FileUtils.touch(sourceFile1);
} catch (IOException ex) {
assert false;
}
sourceFile1 = new File("data/test-directory/file1.txt");
final long sourceFile1CurrentLastModified = sourceFile1.lastModified();
assertTrue(sourceFile1CurrentLastModified > sourceFile1PreviousLastModified);
FileSystemUtils.archiveDirectory(sourceDirectory, destinationDirectory);
destinationFile1 = new File("data/test-directory-archive/file1.txt");
final long destinationFile1CurrentLastModified = destinationFile1.lastModified();
assertEquals(sourceFile1CurrentLastModified, destinationFile1CurrentLastModified);
}
}