package org.nutz.trans; import java.util.ArrayList; import java.util.List; import org.nutz.lang.Each; import org.nutz.lang.ExitLoop; import org.nutz.lang.Lang; import junit.framework.TestCase; public abstract class TestThread extends Thread { public TestThread() { results = new ArrayList<Boolean>(); } private List<Boolean> results; protected abstract void doTest(); @Override public void run() { doTest(); synchronized (this) { try { this.wait(1000); } catch (InterruptedException e) { throw Lang.wrapThrow(e); } } } protected void addResult(boolean b) { results.add(b); } public void doAssert() { Lang.each(results, new Each<Boolean>() { public void invoke(int index, Boolean b, int size) throws ExitLoop { System.out.println(index); TestCase.assertTrue(b); } }); } }