1 36 package org.columba.ristretto.message.io; 37 38 import java.io.ByteArrayInputStream ; 39 import java.io.IOException ; 40 import java.util.ArrayList ; 41 import java.util.List ; 42 43 import org.columba.ristretto.io.SequenceInputStream; 44 45 import junit.framework.TestCase; 46 47 public class SequenceInputStreamTest extends TestCase { 48 49 protected List createStreams() { 50 List streams = new ArrayList (); 51 streams.add(new ByteArrayInputStream ("This ".getBytes())); 52 streams.add(new ByteArrayInputStream ("is ".getBytes())); 53 streams.add(new ByteArrayInputStream ("a ".getBytes())); 54 streams.add(new ByteArrayInputStream ("test".getBytes())); 55 56 return streams; 57 } 58 59 public void testConstructor() throws IOException { 60 SequenceInputStream in = 61 new SequenceInputStream( 62 new ByteArrayInputStream ("This ".getBytes()), 63 new ByteArrayInputStream ("is ".getBytes())); 64 65 assertTrue(in.available() == 8); 66 } 67 68 public void testAvailable() throws IOException { 69 List streams = createStreams(); 70 SequenceInputStream in = new SequenceInputStream(streams); 71 assertTrue(in.available() == 14); 72 73 } 74 75 public void testRead1() throws IOException { 76 List streams = createStreams(); 77 SequenceInputStream in = new SequenceInputStream(streams); 78 assertTrue(in.read() == 'T'); 79 assertTrue(in.read() == 'h'); 80 assertTrue(in.read() == 'i'); 81 assertTrue(in.read() == 's'); 82 assertTrue(in.read() == ' '); 83 assertTrue(in.read() == 'i'); 84 assertTrue(in.read() == 's'); 85 assertTrue(in.read() == ' '); 86 assertTrue(in.read() == 'a'); 87 } 88 89 public void testReadEOF1() throws IOException { 90 List streams = createStreams(); 91 SequenceInputStream in = new SequenceInputStream(streams); 92 for (int i = 0; i < 14; i++) { 93 in.read(); 94 } 95 96 assertTrue(in.read() == -1); 97 } 98 99 public void testRead2() throws IOException { 100 List streams = createStreams(); 101 SequenceInputStream in = new SequenceInputStream(streams); 102 byte[] buffer = new byte[14]; 103 assertTrue(in.read(buffer) == 14); 104 } 105 106 public void testEOF2() throws IOException { 107 List streams = createStreams(); 108 SequenceInputStream in = new SequenceInputStream(streams); 109 byte[] buffer = new byte[20]; 110 assertTrue(in.read(buffer) == 14); 111 } 112 113 public void testEOF3() throws IOException { 114 List streams = createStreams(); 115 SequenceInputStream in = new SequenceInputStream(streams); 116 byte[] buffer = new byte[14]; 117 assertTrue(in.read(buffer) == 14); 118 assertTrue(in.read(buffer) == -1); 119 } 120 121 public void testSkip1() throws IOException { 122 List streams = createStreams(); 123 SequenceInputStream in = new SequenceInputStream(streams); 124 in.skip(10); 125 assertTrue(in.read() == 't'); 126 assertTrue(in.read() == 'e'); 127 assertTrue(in.read() == 's'); 128 assertTrue(in.read() == 't'); 129 } 130 } 131 | Popular Tags |