From 7ec2b8696f4dac0fc27075bfb0aa5846baa87168 Mon Sep 17 00:00:00 2001 From: Samuel Tardieu Date: Wed, 11 Feb 2015 18:59:05 +0100 Subject: Add FileUtils tests --- tests/src/cgeo/geocaching/utils/FileUtilsTest.java | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 tests/src/cgeo/geocaching/utils/FileUtilsTest.java (limited to 'tests') diff --git a/tests/src/cgeo/geocaching/utils/FileUtilsTest.java b/tests/src/cgeo/geocaching/utils/FileUtilsTest.java new file mode 100644 index 0000000..17aed70 --- /dev/null +++ b/tests/src/cgeo/geocaching/utils/FileUtilsTest.java @@ -0,0 +1,52 @@ +package cgeo.geocaching.utils; + +import static org.assertj.core.api.Assertions.assertThat; + +import cgeo.geocaching.files.LocalStorage; + +import junit.framework.TestCase; + +import android.content.Context; +import android.test.ServiceTestCase; + +import java.io.File; +import java.io.IOException; + +public class FileUtilsTest extends TestCase { + + final File cacheDir = LocalStorage.getStorageDir("automated-tests"); + final File baseFile = new File(cacheDir, "prefix.ext"); + final File alternative1 = new File(cacheDir, "prefix_1.ext"); + final File alternative2 = new File(cacheDir, "prefix_2.ext"); + + private Context getTestContext() { + try { + return (Context) ServiceTestCase.class.getMethod("getTestContext").invoke(this); + } catch (final Exception e) { + Log.e("Unable to get test context", e); + return null; + } + } + + public void testGetUniqueNamedFile() throws IOException { + LocalStorage.deleteDirectory(cacheDir); + cacheDir.mkdirs(); + try { + assertThat(FileUtils.getUniqueNamedFile(baseFile)).isEqualTo(baseFile); + baseFile.createNewFile(); + assertThat(FileUtils.getUniqueNamedFile(baseFile)).isEqualTo(alternative1); + alternative1.createNewFile(); + assertThat(FileUtils.getUniqueNamedFile(baseFile)).isEqualTo(alternative2); + assertThat(FileUtils.getUniqueNamedFile(baseFile)).isEqualTo(alternative2); + } finally { + LocalStorage.deleteDirectory(cacheDir); + } + } + + public void testFileUrl() { + assertThat(FileUtils.isFileUrl("file:///tmp/foo/bar")).isTrue(); + assertThat(FileUtils.isFileUrl("http://www.google.com")).isFalse(); + assertThat(FileUtils.fileToUrl(new File("/tmp/foo/bar"))).isEqualTo("file:///tmp/foo/bar"); + assertThat(FileUtils.urlToFile("file:///tmp/foo/bar").getPath()).isEqualTo("/tmp/foo/bar"); + } +} -- cgit v1.1