package com.crossbow.volley; import android.test.suitebuilder.annotation.SmallTest; import com.android.volley.VolleyError; import com.crossbow.volley.toolbox.Files; import org.junit.Assert; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Arrays; /** */ public class FilesTest { @Rule public TemporaryFolder temporaryFolder = new TemporaryFolder(); private File file; @Before public void setUp() throws Exception { file = temporaryFolder.newFile(); FileOutputStream outputStream = new FileOutputStream(file); outputStream.write("testfilecontents".getBytes()); outputStream.flush(); outputStream.close(); } @Test public void testInputStreamStringRead() throws Exception { String data = Files.readInputStreamString(new FileInputStream(file)); Assert.assertEquals("testfilecontents", data); } @Test public void testInputStreamCopy() throws VolleyError, IOException { File testCopy = temporaryFolder.newFile(); Files.copyFileFromStream(new FileInputStream(file), testCopy); Assert.assertTrue(testCopy.exists()); Assert.assertTrue(Arrays.equals("testfilecontents".getBytes(), Files.readFileData(testCopy))); Assert.assertEquals("testfilecontents", Files.readFileString(testCopy)); } @Test public void testFileWrite() throws VolleyError, IOException { File testCopy = temporaryFolder.newFile(); Files.writeFileString(testCopy, "test-file write"); Assert.assertEquals("test-file write", Files.readFileString(testCopy)); } @Test public void testFileWriteData() throws VolleyError, IOException { File testCopy = temporaryFolder.newFile(); Files.writeFileData(testCopy, "test-file write".getBytes()); Assert.assertEquals("test-file write", Files.readFileString(testCopy)); } @Test public void testFileWriteLines() throws VolleyError, IOException { File testCopy = temporaryFolder.newFile(); String[] lines = new String[]{"line1", "line2", "line3"}; Files.writeFileLines(testCopy, lines); String[] readLines = new String[3]; Files.readFileLines(testCopy).toArray(readLines); Assert.assertTrue(Arrays.equals(lines, readLines)); } }