samples/delegatingwriterfinal/src-test1.0/api/usage/BufferedWriterCryptoTest.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 30 Oct 2014 20:46:27 +0100
changeset 408 9a439a79c6d0
permissions -rw-r--r--
Use scala 2.10.4 to compile on JDK8
jtulach@66
     1
jtulach@66
     2
package api.usage;
jtulach@66
     3
jtulach@66
     4
import api.Writer;
jtulach@66
     5
import java.io.IOException;
jtulach@66
     6
import java.io.StringWriter;
jtulach@66
     7
import java.io.StringWriter;
jtulach@66
     8
import org.junit.Before;
jtulach@66
     9
import org.junit.Test;
jtulach@66
    10
import static org.junit.Assert.*;
jtulach@66
    11
jtulach@66
    12
/** Converting the Crypto example to the APIs that split client and provider
jtulach@66
    13
 * concerns and do not mix delegation and subclassing.
jtulach@66
    14
 *
jtulach@66
    15
 * @author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
jtulach@66
    16
 */
jtulach@66
    17
public class BufferedWriterCryptoTest {
jtulach@66
    18
    private StringWriter writer;
jtulach@66
    19
    
jtulach@66
    20
    
jtulach@66
    21
    public BufferedWriterCryptoTest() {
jtulach@66
    22
    }
jtulach@66
    23
    
jtulach@66
    24
    @Before
jtulach@66
    25
    public void setUp() {
jtulach@66
    26
        writer = new StringWriter();
jtulach@66
    27
    }
jtulach@66
    28
jtulach@66
    29
    @Test
jtulach@66
    30
    public void testBehaviourOfRealBufferInJDKWorksFine() throws IOException {
jtulach@66
    31
        Writer bufferedWriter = CryptoWriter.create(Writer.create(writer));
jtulach@66
    32
        bufferedWriter.write("VMS");
jtulach@66
    33
        bufferedWriter.flush();
jtulach@66
    34
        assertEquals("Converted", "WNT", writer.toString());
jtulach@66
    35
    }
jtulach@66
    36
    
jtulach@66
    37
}