org.texai.util.FileSystemUtilsTest.java Source code

Java tutorial

Introduction

Here is the source code for org.texai.util.FileSystemUtilsTest.java

Source

/*
 * 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);
    }
}