package cn.org.rapid_framework.io;
import java.io.IOException;
import java.io.StringWriter;
import junit.framework.TestCase;
public class AsyncWriterTest extends TestCase {
public void test() throws IOException, InterruptedException {
StringWriter stringWriter = new StringWriter();
AsyncWriter writer = new AsyncWriter(stringWriter);
writer.start();
writer.append("javaeye");
writer.append("abc");
writer.append(null);
// Thread.sleep(1000);
writer.close();
assertEquals("javaeyeabcnull",stringWriter.toString());
try {
writer.append("jiy");
fail();
}catch(IOException expected) {
}
}
public void testPerformence() throws IOException {
StringWriter stringWriter = new StringWriter();
AsyncWriter writer = new AsyncWriter(stringWriter,100);
writer.start();
for(int i = 0; i < 200000; i++) {
writer.append('c');
}
writer.close();
System.out.println(stringWriter.toString().length());
assertEquals(200000,stringWriter.toString().length());
}
public void testNotYetStart() {
try {
StringWriter stringWriter = new StringWriter();
AsyncWriter writer = new AsyncWriter(stringWriter,100);
writer.append('c');
fail();
}catch(IOException e) {
System.out.println(e.getMessage());
assertEquals(e.getMessage(),"must start() before wirte()");
}
}
}