package org.rendersnake;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.Writer;
import junit.framework.TestCase;
public class CanvasTest extends TestCase {
private static ThreadLocal<StringBuilder> threadLocalBuilder = new ThreadLocal<StringBuilder>() {
@Override
protected StringBuilder initialValue() {
return new StringBuilder(64);
}
@Override
public StringBuilder get() {
StringBuilder b = super.get();
b.setLength(0); // clear/reset the buffer
return b;
}
};
public void testImageTag() {
Canvas c = new Canvas();
c.open_img().src("plaatje.png").alt("plaatje").close_img();
}
public void testImageTag2() {
Canvas c = new Canvas();
c.img().src("plaatje.png").alt("plaatje").div().text("txt")._()._();
}
public void testBuilder() throws IOException {
long now = System.currentTimeMillis();
Writer pw = new PrintWriter(new StringWriter());
for (int i = 0; i < 100000; i++) {
StringBuilder sb = new StringBuilder(32);
sb.append("Hello World, Here I comeHello World, Here I comeHello World, Here I come");
pw.append(sb.toString());
}
long ms = System.currentTimeMillis();
System.out.println("1=" + (ms - now));
}
public void testBuilder2() throws IOException {
long now = System.currentTimeMillis();
Writer pw = new PrintWriter(new StringWriter());
for (int i = 0; i < 100000; i++) {
StringBuilder sb = new StringBuilder(64);
sb.append("Hello World, Here I comeHello World, Here I comeHello World, Here I come");
pw.append(sb.toString());
}
long ms = System.currentTimeMillis();
System.out.println("2=" + (ms - now));
}
public void testBuilder3() throws IOException {
long now = System.currentTimeMillis();
Writer pw = new PrintWriter(new StringWriter());
for (int i = 0; i < 100000; i++) {
StringBuilder sb = new StringBuilder(256);
sb.append("Hello World, Here I comeHello World, Here I comeHello World, Here I come");
pw.append(sb);
}
long ms = System.currentTimeMillis();
System.out.println("3=" + (ms - now));
}
public void testBuilder4() throws IOException {
long now = System.currentTimeMillis();
Writer pw = new PrintWriter(new StringWriter());
for (int i = 0; i < 100000; i++) {
StringBuilder sb = threadLocalBuilder.get();
sb.append("Hello World, Here I comeHello World, Here I comeHello World, Here I come");
pw.append(sb);
}
long ms = System.currentTimeMillis();
System.out.println("4=" + (ms - now));
}
}