package org.tigris.juxy; import junit.framework.TestCase; import java.io.ByteArrayOutputStream; import java.io.PrintStream; /** * $Id: UTestTracer.java,v 1.3 2006-11-09 18:59:07 pavelsher Exp $ * * @author Pavel Sher */ public class UTestTracer extends TestCase { private ByteArrayOutputStream byteStream; public void testTraceLevels() { Tracer.startTracing(stream()); Tracer.trace(1, 0, "systemId", "statement1"); Tracer.trace(2, 1, "systemId", "statement2"); Tracer.trace(3, 2, "systemId", "statement3"); String[] lines = splitLines(); assertEquals("1:\tstatement1", lines[1].trim()); assertEquals("2:\t statement2", lines[2].trim()); assertEquals("3:\t statement3", lines[3].trim()); } public void testSameLine() { Tracer.startTracing(stream()); Tracer.trace(1, 1, "systemId", "instr1"); Tracer.trace(1, 1, "systemId", "instr2"); Tracer.trace(2, 1, "systemId", "instr3"); String[] lines = splitLines(); assertEquals("1:\t instr1instr2", lines[1].trim()); assertEquals("2:\t instr3", lines[2].trim()); } protected void tearDown() throws Exception { Tracer.stopTracing(); } private String[] splitLines() { return byteStream.toString().split("\n"); } private PrintStream stream() { byteStream = new ByteArrayOutputStream(); return new PrintStream(byteStream); } }