samples/delegatingwriter/test/org/apidesign/delegatingwriter/BufferedWriterCryptoTest.java
changeset 67 b029a28df444
parent 64 7b26c64804c2
child 263 7e8e995065c5
     1.1 --- a/samples/delegatingwriter/test/org/apidesign/delegatingwriter/BufferedWriterCryptoTest.java	Sat Jun 14 09:53:05 2008 +0200
     1.2 +++ b/samples/delegatingwriter/test/org/apidesign/delegatingwriter/BufferedWriterCryptoTest.java	Sat Jun 14 09:53:07 2008 +0200
     1.3 @@ -14,7 +14,8 @@
     1.4   */
     1.5  public class BufferedWriterCryptoTest {
     1.6      private StringWriter writer;
     1.7 -    
     1.8 +    private String fromCode;
     1.9 +    private String toCode;
    1.10      
    1.11      public BufferedWriterCryptoTest() {
    1.12      }
    1.13 @@ -22,6 +23,14 @@
    1.14      @Before
    1.15      public void setUp() {
    1.16          writer = new StringWriter();
    1.17 +        StringBuffer f = new StringBuffer();
    1.18 +        StringBuffer t = new StringBuffer();
    1.19 +        for (int i = 0; i < 500; i++) {
    1.20 +            f.append("VMS");
    1.21 +            t.append("WNT");
    1.22 +        }
    1.23 +        fromCode = f.toString();
    1.24 +        toCode = t.toString();
    1.25      }
    1.26  
    1.27      @Test
    1.28 @@ -35,13 +44,21 @@
    1.29      }
    1.30  
    1.31      @Test
    1.32 +    public void testBehaviourOfRealBufferInJDKWorksFineOnLongSentences() throws IOException {
    1.33 +        CryptoWriter bufferedWriter = new CryptoWriter(writer);
    1.34 +        bufferedWriter.append(fromCode);
    1.35 +        bufferedWriter.flush();
    1.36 +        assertEquals("Converted", toCode, writer.toString());
    1.37 +    }
    1.38 +
    1.39 +    @Test
    1.40      public void testBehaviourOfBufferThatDelegatesToAppendFails() throws IOException {
    1.41          CryptoWriter bufferedWriter = new CryptoWriter(writer, CryptoWriter.Behaviour.DELEGATE_TO_OUT);
    1.42 -        bufferedWriter.append("VMS");
    1.43 +        bufferedWriter.append(fromCode);
    1.44          bufferedWriter.flush();
    1.45          assertEquals("This will fail, as the direct delegation from append to " +
    1.46              "the underlaying writer will skip all the crypto methods", 
    1.47 -            "WNT", writer.toString()
    1.48 +            toCode, writer.toString()
    1.49          );
    1.50      }
    1.51