From 4f4388b04ede9ec9eb3c90aae574674fe9d2b8d3 Mon Sep 17 00:00:00 2001 From: Yusuke Matsubara Date: Sat, 10 Jun 2017 17:28:14 +0900 Subject: [PATCH] Add test for FileUtils --- .../fr/free/nrw/commons/FileUtilsTest.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 app/src/test/java/fr/free/nrw/commons/FileUtilsTest.java diff --git a/app/src/test/java/fr/free/nrw/commons/FileUtilsTest.java b/app/src/test/java/fr/free/nrw/commons/FileUtilsTest.java new file mode 100644 index 000000000..c6febc1e4 --- /dev/null +++ b/app/src/test/java/fr/free/nrw/commons/FileUtilsTest.java @@ -0,0 +1,40 @@ +package fr.free.nrw.commons; + +import org.junit.Assert; +import org.junit.Test; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; + +import fr.free.nrw.commons.upload.FileUtils; + +import static org.hamcrest.CoreMatchers.is; + +public class FileUtilsTest { + @Test public void copiedFileIsIdenticalToSource() throws IOException { + File source = File.createTempFile("temp", ""); + File dest = File.createTempFile("temp", ""); + writeToFile(source, "Hello, World"); + FileUtils.copy(new FileInputStream(source), new FileOutputStream(dest)); + Assert.assertThat(getString(dest), is(getString(source))); + } + + private static void writeToFile(File file, String s) throws IOException { + BufferedOutputStream buf = new BufferedOutputStream(new FileOutputStream(file)); + buf.write(s.getBytes()); + buf.close(); + } + + private static String getString(File file) throws IOException { + int size = (int) file.length(); + byte[] bytes = new byte[size]; + BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file)); + buf.read(bytes, 0, bytes.length); + buf.close(); + return new String(bytes); + } +}