📄 fileutilstestcase.java
字号:
URL[] urls = FileUtils.toURLs(files);
assertEquals(files.length, urls.length);
assertEquals(true, urls[0].toExternalForm().startsWith("file:"));
assertEquals(true, urls[0].toExternalForm().indexOf("file1.txt") >= 0);
assertEquals(true, urls[1].toExternalForm().startsWith("file:"));
assertEquals(true, urls[1].toExternalForm().indexOf("file2.txt") >= 0);
}
// public void testToURLs2() throws Exception {
// File[] files = new File[] {
// new File(getTestDirectory(), "file1.txt"),
// null,
// };
// URL[] urls = FileUtils.toURLs(files);
//
// assertEquals(files.length, urls.length);
// assertEquals(true, urls[0].toExternalForm().startsWith("file:"));
// assertEquals(true, urls[0].toExternalForm().indexOf("file1.txt") > 0);
// assertEquals(null, urls[1]);
// }
//
// public void testToURLs3() throws Exception {
// File[] files = null;
// URL[] urls = FileUtils.toURLs(files);
//
// assertEquals(0, urls.length);
// }
// contentEquals
public void testContentEquals() throws Exception {
// Non-existent files
File file = new File(getTestDirectory(), getName());
File file2 = new File(getTestDirectory(), getName() + "2");
// both don't exist
assertTrue(FileUtils.contentEquals(file, file));
assertTrue(FileUtils.contentEquals(file, file2));
assertTrue(FileUtils.contentEquals(file2, file2));
assertTrue(FileUtils.contentEquals(file2, file));
// Directories
try {
FileUtils.contentEquals(getTestDirectory(), getTestDirectory());
fail("Comparing directories should fail with an IOException");
} catch (IOException ioe) {
//expected
}
// Different files
File objFile1 =
new File(getTestDirectory(), getName() + ".object");
objFile1.deleteOnExit();
FileUtils.copyURLToFile(
getClass().getResource("/java/lang/Object.class"),
objFile1);
File objFile1b =
new File(getTestDirectory(), getName() + ".object2");
objFile1.deleteOnExit();
FileUtils.copyURLToFile(
getClass().getResource("/java/lang/Object.class"),
objFile1b);
File objFile2 =
new File(getTestDirectory(), getName() + ".collection");
objFile2.deleteOnExit();
FileUtils.copyURLToFile(
getClass().getResource("/java/util/Collection.class"),
objFile2);
assertEquals(false, FileUtils.contentEquals(objFile1, objFile2));
assertEquals(false, FileUtils.contentEquals(objFile1b, objFile2));
assertEquals(true, FileUtils.contentEquals(objFile1, objFile1b));
assertEquals(true, FileUtils.contentEquals(objFile1, objFile1));
assertEquals(true, FileUtils.contentEquals(objFile1b, objFile1b));
assertEquals(true, FileUtils.contentEquals(objFile2, objFile2));
// Equal files
file.createNewFile();
file2.createNewFile();
assertEquals(true, FileUtils.contentEquals(file, file));
assertEquals(true, FileUtils.contentEquals(file, file2));
}
// copyURLToFile
public void testCopyURLToFile() throws Exception {
// Creates file
File file = new File(getTestDirectory(), getName());
file.deleteOnExit();
// Loads resource
String resourceName = "/java/lang/Object.class";
FileUtils.copyURLToFile(getClass().getResource(resourceName), file);
// Tests that resuorce was copied correctly
FileInputStream fis = new FileInputStream(file);
try {
assertTrue(
"Content is not equal.",
IOUtils.contentEquals(
getClass().getResourceAsStream(resourceName),
fis));
} finally {
fis.close();
}
//TODO Maybe test copy to itself like for copyFile()
}
// forceMkdir
public void testForceMkdir() throws Exception {
// Tests with existing directory
FileUtils.forceMkdir(getTestDirectory());
// Creates test file
File testFile = new File(getTestDirectory(), getName());
testFile.deleteOnExit();
testFile.createNewFile();
assertTrue("Test file does not exist.", testFile.exists());
// Tests with existing file
try {
FileUtils.forceMkdir(testFile);
fail("Exception expected.");
} catch (IOException ex) {}
testFile.delete();
// Tests with non-existent directory
FileUtils.forceMkdir(testFile);
assertTrue("Directory was not created.", testFile.exists());
}
// sizeOfDirectory
public void testSizeOfDirectory() throws Exception {
File file = new File(getTestDirectory(), getName());
// Non-existent file
try {
FileUtils.sizeOfDirectory(file);
fail("Exception expected.");
} catch (IllegalArgumentException ex) {}
// Creates file
file.createNewFile();
file.deleteOnExit();
// Existing file
try {
FileUtils.sizeOfDirectory(file);
fail("Exception expected.");
} catch (IllegalArgumentException ex) {}
// Existing directory
file.delete();
file.mkdir();
assertEquals(
"Unexpected directory size",
TEST_DIRECTORY_SIZE,
FileUtils.sizeOfDirectory(file));
}
// isFileNewer / isFileOlder
public void testIsFileNewerOlder() throws Exception {
File reference = new File(getTestDirectory(), "FileUtils-reference.txt");
File oldFile = new File(getTestDirectory(), "FileUtils-old.txt");
File newFile = new File(getTestDirectory(), "FileUtils-new.txt");
File invalidFile = new File(getTestDirectory(), "FileUtils-invalid-file.txt");
// Create Files
createFile(oldFile, 0);
do {
try {
Thread.sleep(1000);
} catch(InterruptedException ie) {
// ignore
}
createFile(reference, 0);
} while( oldFile.lastModified() == reference.lastModified() );
Date date = new Date();
long now = date.getTime();
do {
try {
Thread.sleep(1000);
} catch(InterruptedException ie) {
// ignore
}
createFile(newFile, 0);
} while( reference.lastModified() == newFile.lastModified() );
// Test isFileNewer()
assertFalse("Old File - Newer - File", FileUtils.isFileNewer(oldFile, reference));
assertFalse("Old File - Newer - Date", FileUtils.isFileNewer(oldFile, date));
assertFalse("Old File - Newer - Mili", FileUtils.isFileNewer(oldFile, now));
assertTrue("New File - Newer - File", FileUtils.isFileNewer(newFile, reference));
assertTrue("New File - Newer - Date", FileUtils.isFileNewer(newFile, date));
assertTrue("New File - Newer - Mili", FileUtils.isFileNewer(newFile, now));
assertFalse("Invalid - Newer - File", FileUtils.isFileNewer(invalidFile, reference));
// Test isFileOlder()
assertTrue("Old File - Older - File", FileUtils.isFileOlder(oldFile, reference));
assertTrue("Old File - Older - Date", FileUtils.isFileOlder(oldFile, date));
assertTrue("Old File - Older - Mili", FileUtils.isFileOlder(oldFile, now));
assertFalse("New File - Older - File", FileUtils.isFileOlder(newFile, reference));
assertFalse("New File - Older - Date", FileUtils.isFileOlder(newFile, date));
assertFalse("New File - Older - Mili", FileUtils.isFileOlder(newFile, now));
assertFalse("Invalid - Older - File", FileUtils.isFileOlder(invalidFile, reference));
// ----- Test isFileNewer() exceptions -----
// Null File
try {
FileUtils.isFileNewer(null, now);
fail("Newer Null, expected IllegalArgumentExcepion");
} catch (IllegalArgumentException expected) {
// expected result
}
// Null reference File
try {
FileUtils.isFileNewer(oldFile, (File)null);
fail("Newer Null reference, expected IllegalArgumentExcepion");
} catch (IllegalArgumentException expected) {
// expected result
}
// Invalid reference File
try {
FileUtils.isFileNewer(oldFile, invalidFile);
fail("Newer invalid reference, expected IllegalArgumentExcepion");
} catch (IllegalArgumentException expected) {
// expected result
}
// Null reference Date
try {
FileUtils.isFileNewer(oldFile, (Date)null);
fail("Newer Null date, expected IllegalArgumentExcepion");
} catch (IllegalArgumentException expected) {
// expected result
}
// ----- Test isFileOlder() exceptions -----
// Null File
try {
FileUtils.isFileOlder(null, now);
fail("Older Null, expected IllegalArgumentExcepion");
} catch (IllegalArgumentException expected) {
// expected result
}
// Null reference File
try {
FileUtils.isFileOlder(oldFile, (File)null);
fail("Older Null reference, expected IllegalArgumentExcepion");
} catch (IllegalArgumentException expected) {
// expected result
}
// Invalid reference File
try {
FileUtils.isFileOlder(oldFile, invalidFile);
fail("Older invalid reference, expected IllegalArgumentExcepion");
} catch (IllegalArgumentException expected) {
// expected result
}
// Null reference Date
try {
FileUtils.isFileOlder(oldFile, (Date)null);
fail("Older Null date, expected IllegalArgumentExcepion");
} catch (IllegalArgumentException expected) {
// expected result
}
}
// // TODO Remove after debugging
// private void log(Object obj) {
// System.out.println(
// FileUtilsTestCase.class +" " + getName() + " " + obj);
// }
// copyFile
public void testCopyFile1() throws Exception {
File destination = new File(getTestDirectory(), "copy1.txt");
//Thread.sleep(LAST_MODIFIED_DELAY);
//This is to slow things down so we can catch if
//the lastModified date is not ok
FileUtils.copyFile(testFile1, destination);
assertTrue("Check Exist", destination.exists());
assertTrue("Check Full copy", destination.length() == testFile1Size);
/* disabled: Thread.sleep doesn't work reliantly for this case
assertTrue("Check last modified date preserved",
testFile1.lastModified() == destination.lastModified());*/
}
public void testCopyFile2() throws Exception {
File destination = new File(getTestDirectory(), "copy2.txt");
//Thread.sleep(LAST_MODIFIED_DELAY);
//This is to slow things down so we can catch if
//the lastModified date is not ok
FileUtils.copyFile(testFile1, destination);
assertTrue("Check Exist", destination.exists());
assertTrue("Check Full copy", destination.length() == testFile2Size);
/* disabled: Thread.sleep doesn't work reliably for this case
assertTrue("Check last modified date preserved",
testFile1.lastModified() == destination.lastModified());*/
}
public void testCopyToSelf() throws Exception {
File destination = new File(getTestDirectory(), "copy3.txt");
//Prepare a test file
FileUtils.copyFile(testFile1, destination);
try {
FileUtils.copyFile(destination, destination);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -