1 package net.trajano.commons.testing.test; 2 3 import static org.junit.Assert.assertEquals; 4 import static org.junit.Assert.assertTrue; 5 6 import java.io.File; 7 import java.io.IOException; 8 import java.io.InputStream; 9 10 import org.junit.Test; 11 import org.mockito.Mockito; 12 13 import net.trajano.commons.testing.ResourceUtil; 14 15 public class ResourceUtilTest { 16 17 @SuppressWarnings("unchecked") 18 @Test(expected = AssertionError.class) 19 public void testBadStream() throws Exception { 20 21 final InputStream mock = Mockito.mock(InputStream.class); 22 Mockito.when(mock.read()) 23 .thenThrow(IOException.class); 24 ResourceUtil.streamToBytes(mock); 25 } 26 27 @Test 28 public void testCopy() throws Exception { 29 30 final File f = ResourceUtil.getResourceCopy(ResourceUtilTest.class, "deep.txt"); 31 assertTrue(f.exists()); 32 f.delete(); 33 } 34 35 @Test 36 public void testCopyContextClassLoader() throws Exception { 37 38 final File f = ResourceUtil.getResourceCopy("sample.txt"); 39 assertTrue(f.exists()); 40 f.delete(); 41 } 42 43 @Test(expected = AssertionError.class) 44 public void testNonExistentFile() throws Exception { 45 46 ResourceUtil.getResourceAsString(ResourceUtilTest.class, "not-there.txt"); 47 } 48 49 @Test(expected = AssertionError.class) 50 public void testNonExistentFileContextClassLoader() throws Exception { 51 52 ResourceUtil.getResourceAsString("not-there.txt"); 53 } 54 55 @Test 56 public void testReadBinary() throws Exception { 57 58 { 59 final byte[] bytes = ResourceUtil.getResourceAsBytes("sample.bin"); 60 assertEquals(67646, bytes.length); 61 } 62 { 63 final byte[] bytes = ResourceUtil.getResourceAsBytes("sample.bin"); 64 assertEquals(67646, bytes.length); 65 } 66 } 67 68 @Test 69 public void testReadString() throws Exception { 70 71 assertEquals("hello world", ResourceUtil.getResourceAsString("sample.txt")); 72 assertEquals("hello world", ResourceUtil.getResourceAsString("sample.txt")); 73 } 74 75 @Test 76 public void testReadStringWithClass() throws Exception { 77 78 assertEquals("deep inside", ResourceUtil.getResourceAsString(ResourceUtilTest.class, "deep.txt")); 79 } 80 81 }