You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by kr...@apache.org on 2015/06/26 23:35:41 UTC

svn commit: r1687859 - /commons/proper/io/trunk/src/test/java/org/apache/commons/io/output/ProxyWriterTest.java

Author: krosenvold
Date: Fri Jun 26 21:35:40 2015
New Revision: 1687859

URL: http://svn.apache.org/r1687859
Log:
Improved test coverage

Modified:
    commons/proper/io/trunk/src/test/java/org/apache/commons/io/output/ProxyWriterTest.java

Modified: commons/proper/io/trunk/src/test/java/org/apache/commons/io/output/ProxyWriterTest.java
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/test/java/org/apache/commons/io/output/ProxyWriterTest.java?rev=1687859&r1=1687858&r2=1687859&view=diff
==============================================================================
--- commons/proper/io/trunk/src/test/java/org/apache/commons/io/output/ProxyWriterTest.java (original)
+++ commons/proper/io/trunk/src/test/java/org/apache/commons/io/output/ProxyWriterTest.java Fri Jun 26 21:35:40 2015
@@ -16,125 +16,324 @@
  */
 package org.apache.commons.io.output;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
+
+import org.junit.Test;
 
 /**
  * Test {@link ProxyWriter}.
  *
  * @version $Id$
  */
-public class ProxyWriterTest extends TestCase {
-
-    public ProxyWriterTest(final String name) {
-        super(name);
-    }
+public class ProxyWriterTest {
 
-    public void testAppendCharSequence() throws Exception {
+    @Test
+    public void appendCharSequence() throws Exception {
         final StringBuilderWriter writer = new StringBuilderWriter();
         final ProxyWriter proxy = new ProxyWriter(writer);
         try {
             proxy.append("ABC");
-        } catch(final Exception e) {
+        } catch (final Exception e) {
             fail("Appending CharSequence threw " + e);
         }
         assertEquals("ABC", writer.toString());
         proxy.close();
     }
 
-    public void testWriteString() throws Exception {
+    @Test
+    public void appendCharSequence_with_offset() throws Exception {
+        final StringBuilderWriter writer = new StringBuilderWriter();
+        final ProxyWriter proxy = new ProxyWriter(writer);
+        proxy.append("ABC", 1, 3);
+        proxy.flush();
+        assertEquals("BC", writer.toString());
+        proxy.close();
+    }
+
+    @Test
+    public void appendChar() throws Exception {
+        final StringBuilderWriter writer = new StringBuilderWriter();
+        final ProxyWriter proxy = new ProxyWriter(writer);
+        proxy.append('c');
+        assertEquals("c", writer.toString());
+        proxy.close();
+    }
+
+    @Test
+    public void writeString() throws Exception {
         final StringBuilderWriter writer = new StringBuilderWriter();
         final ProxyWriter proxy = new ProxyWriter(writer);
         try {
             proxy.write("ABC");
-        } catch(final Exception e) {
+        } catch (final Exception e) {
             fail("Writing String threw " + e);
         }
         assertEquals("ABC", writer.toString());
         proxy.close();
     }
 
-    public void testWriteStringPartial() throws Exception {
+    @Test
+    public void writeStringPartial() throws Exception {
         final StringBuilderWriter writer = new StringBuilderWriter();
         final ProxyWriter proxy = new ProxyWriter(writer);
         try {
             proxy.write("ABC", 1, 2);
-        } catch(final Exception e) {
+        } catch (final Exception e) {
             fail("Writing String threw " + e);
         }
         assertEquals("BC", writer.toString());
         proxy.close();
     }
 
-    public void testWriteCharArray() throws Exception {
+    @Test
+    public void writeCharArray() throws Exception {
         final StringBuilderWriter writer = new StringBuilderWriter();
         final ProxyWriter proxy = new ProxyWriter(writer);
         try {
-            proxy.write(new char[] {'A', 'B', 'C'});
-        } catch(final Exception e) {
+            proxy.write(new char[]{'A', 'B', 'C'});
+        } catch (final Exception e) {
             fail("Writing char[] threw " + e);
         }
         assertEquals("ABC", writer.toString());
         proxy.close();
     }
 
-    public void testWriteCharArrayPartial() throws Exception {
+    @Test
+    public void writeInt() throws Exception {
         final StringBuilderWriter writer = new StringBuilderWriter();
         final ProxyWriter proxy = new ProxyWriter(writer);
         try {
-            proxy.write(new char[] {'A', 'B', 'C'}, 1, 2);
-        } catch(final Exception e) {
+            proxy.write(65);
+        } catch (final Exception e) {
+            fail("Writing char[] threw " + e);
+        }
+        assertEquals("A", writer.toString());
+        proxy.close();
+    }
+
+    @Test
+    public void writeCharArrayPartial() throws Exception {
+        final StringBuilderWriter writer = new StringBuilderWriter();
+        final ProxyWriter proxy = new ProxyWriter(writer);
+        try {
+            proxy.write(new char[]{'A', 'B', 'C'}, 1, 2);
+        } catch (final Exception e) {
             fail("Writing char[] threw " + e);
         }
         assertEquals("BC", writer.toString());
         proxy.close();
     }
 
-    public void testNullString() throws Exception {
+    @Test
+    public void nullString() throws Exception {
 
         final ProxyWriter proxy = new ProxyWriter(new NullWriter());
 
         try {
-            proxy.write((String)null);
-        } catch(final Exception e) {
+            proxy.write((String) null);
+        } catch (final Exception e) {
             fail("Writing null String threw " + e);
         }
 
         try {
-            proxy.write((String)null, 0, 0);
-        } catch(final Exception e) {
+            proxy.write((String) null, 0, 0);
+        } catch (final Exception e) {
             fail("Writing null String threw " + e);
         }
         proxy.close();
     }
 
-    public void testNullCharArray() throws Exception {
+    @Test
+    public void nullCharArray() throws Exception {
 
         final ProxyWriter proxy = new ProxyWriter(new NullWriter());
 
         try {
-            proxy.write((char[])null);
-        } catch(final Exception e) {
+            proxy.write((char[]) null);
+        } catch (final Exception e) {
             fail("Writing null char[] threw " + e);
         }
 
         try {
-            proxy.write((char[])null, 0, 0);
-        } catch(final Exception e) {
+            proxy.write((char[]) null, 0, 0);
+        } catch (final Exception e) {
             fail("Writing null char[] threw " + e);
         }
         proxy.close();
     }
 
-    public void testNullCharSequencec() throws Exception {
+    @Test
+    public void nullCharSequencec() throws Exception {
 
         final ProxyWriter proxy = new ProxyWriter(new NullWriter());
 
         try {
             proxy.append(null);
-        } catch(final Exception e) {
+        } catch (final Exception e) {
             fail("Appending null CharSequence threw " + e);
         }
         proxy.close();
     }
 
+    @Test(expected = UnsupportedEncodingException.class)
+    public void exceptions_in_append_char() throws IOException {
+        OutputStreamWriter osw = new OutputStreamWriter(new ByteArrayOutputStream()) {
+            @Override
+            public void write(int c) throws IOException {
+                throw new UnsupportedEncodingException("Bah");
+            }
+        };
+        final ProxyWriter proxy = new ProxyWriter(osw);
+        try {
+            proxy.append('c');
+        } finally {
+            proxy.close();
+        }
+    }
+
+    @Test(expected = UnsupportedEncodingException.class)
+    public void exceptions_in_append_charSequence() throws IOException {
+        OutputStreamWriter osw = new OutputStreamWriter(new ByteArrayOutputStream()) {
+            @Override
+            public Writer append(CharSequence csq) throws IOException {
+                throw new UnsupportedEncodingException("Bah");
+            }
+        };
+        final ProxyWriter proxy = new ProxyWriter(osw);
+        try {
+            proxy.append("ABCE");
+        } finally {
+            proxy.close();
+        }
+    }
+
+    @Test(expected = UnsupportedEncodingException.class)
+    public void exceptions_in_append_charSequence_offset() throws IOException {
+        OutputStreamWriter osw = new OutputStreamWriter(new ByteArrayOutputStream()) {
+            @Override
+            public Writer append(CharSequence csq, int start, int end) throws IOException {
+                throw new UnsupportedEncodingException("Bah");
+            }
+        };
+        final ProxyWriter proxy = new ProxyWriter(osw);
+        try {
+            proxy.append("ABCE", 1, 2);
+        } finally {
+            proxy.close();
+        }
+    }
+
+    @Test(expected = UnsupportedEncodingException.class)
+    public void exceptions_in_write_int() throws IOException {
+        OutputStreamWriter osw = new OutputStreamWriter(new ByteArrayOutputStream()) {
+            @Override
+            public void write(int c) throws IOException {
+                throw new UnsupportedEncodingException("Bah");
+            }
+        };
+        final ProxyWriter proxy = new ProxyWriter(osw);
+        try {
+            proxy.write((int) 'a');
+        } finally {
+            proxy.close();
+        }
+    }
+
+    @Test(expected = UnsupportedEncodingException.class)
+    public void exceptions_in_write_char_array() throws IOException {
+        OutputStreamWriter osw = new OutputStreamWriter(new ByteArrayOutputStream()) {
+            @Override
+            public void write(char[] cbuf) throws IOException {
+                throw new UnsupportedEncodingException("Bah");
+            }
+        };
+        final ProxyWriter proxy = new ProxyWriter(osw);
+        try {
+            proxy.write("ABCE".toCharArray());
+        } finally {
+            proxy.close();
+        }
+    }
+
+    @Test(expected = UnsupportedEncodingException.class)
+    public void exceptions_in_write_offset_char_array() throws IOException {
+        OutputStreamWriter osw = new OutputStreamWriter(new ByteArrayOutputStream()) {
+            @Override
+            public void write(char[] cbuf, int off, int len) throws IOException {
+                throw new UnsupportedEncodingException("Bah");
+            }
+        };
+        final ProxyWriter proxy = new ProxyWriter(osw);
+        try {
+            proxy.write("ABCE".toCharArray(), 2, 3);
+        } finally {
+            proxy.close();
+        }
+    }
+
+    @Test(expected = UnsupportedEncodingException.class)
+    public void exceptions_in_write_string() throws IOException {
+        OutputStreamWriter osw = new OutputStreamWriter(new ByteArrayOutputStream()) {
+            @Override
+            public void write(String str) throws IOException {
+                throw new UnsupportedEncodingException("Bah");
+            }
+        };
+        final ProxyWriter proxy = new ProxyWriter(osw);
+        try {
+            proxy.write("ABCE");
+        } finally {
+            proxy.close();
+        }
+    }
+
+    @Test(expected = UnsupportedEncodingException.class)
+    public void exceptions_in_write_string_offset() throws IOException {
+        OutputStreamWriter osw = new OutputStreamWriter(new ByteArrayOutputStream()) {
+            @Override
+            public void write(String str, int off, int len) throws IOException {
+                throw new UnsupportedEncodingException("Bah");
+            }
+        };
+        final ProxyWriter proxy = new ProxyWriter(osw);
+        try {
+            proxy.write("ABCE", 1, 3);
+        } finally {
+            proxy.close();
+        }
+    }
+
+    @Test(expected = UnsupportedEncodingException.class)
+    public void exceptions_in_flush() throws IOException {
+        OutputStreamWriter osw = new OutputStreamWriter(new ByteArrayOutputStream()) {
+            @Override
+            public void flush() throws IOException {
+                throw new UnsupportedEncodingException("Bah");
+            }
+        };
+        final ProxyWriter proxy = new ProxyWriter(osw);
+        try {
+            proxy.flush();
+        } finally {
+            proxy.close();
+        }
+    }
+
+    @Test(expected = UnsupportedEncodingException.class)
+    public void exceptions_in_close() throws IOException {
+        OutputStreamWriter osw = new OutputStreamWriter(new ByteArrayOutputStream()) {
+            @Override
+            public void close() throws IOException {
+                throw new UnsupportedEncodingException("Bah");
+            }
+        };
+        final ProxyWriter proxy = new ProxyWriter(osw);
+        proxy.close();
+    }
 }