samples/delegatingwriter/test/org/apidesign/delegatingwriter/BufferedWriterThrowingExceptionTest.java
Updating to NBMs from NetBeans 8.0.1 as some of them are required to run on JDK8
2 package org.apidesign.delegatingwriter;
4 import java.io.BufferedWriter;
5 import java.io.IOException;
6 import java.io.StringWriter;
7 import org.junit.Before;
9 import static org.junit.Assert.*;
13 * @author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
15 public class BufferedWriterThrowingExceptionTest {
16 private StringWriter writer;
18 public BufferedWriterThrowingExceptionTest() {
23 writer = new StringWriter();
27 public void testBehaviourOfRealBufferInJDK() throws IOException {
28 BufferedWriter bufferedWriter = new BufferedWriter(writer);
29 doAppendHello(bufferedWriter, "Hello!");
30 bufferedWriter.flush();
32 assertEquals("Hello!", writer.toString());
36 public void testBehaviourOfBufferThatThrowsExceptionWhenAppendIsCalled() throws IOException {
37 BufferedWriter bufferedWriter = new AltBufferedWriter(writer, AltBufferedWriter.Behaviour.THROW_EXCEPTION);
38 doAppendHello(bufferedWriter, "Hello!");
39 bufferedWriter.flush();
41 assertEquals("Hello!", writer.toString());
45 public void testBehaviourWhenDelegatingConditionallyIsOK() throws IOException {
46 BufferedWriter bufferedWriter = new AltBufferedWriter(writer, AltBufferedWriter.Behaviour.DELEGATE_CONDITIONALLY);
47 doAppendHello(bufferedWriter, "Hello!");
48 bufferedWriter.flush();
50 assertEquals("Hello!", writer.toString());
53 private void doAppendHello(BufferedWriter bufferedWriter, CharSequence what) throws IOException {
54 // BEGIN: writer.throw.client
56 bufferedWriter.append(what);
57 } catch (UnsupportedOperationException ex) {
58 bufferedWriter.write(what.toString());
60 // END: writer.throw.client