package jReto.meta; import jReto.util.OrderVerifier; import jReto.util.RunLoop; import org.junit.Test; public class RunLoopTest { @Test public void testDispatchedRunLoop() { final RunLoop runloop = new RunLoop(false); final OrderVerifier verifyer = new OrderVerifier(); verifyer.check(1); runloop.execute(new Runnable() { @Override public void run() { verifyer.check(3); runloop.execute(new Runnable() { @Override public void run() { verifyer.check(5); runloop.stop(); } }); verifyer.check(4); } }); verifyer.check(2); runloop.start(); } @Test public void testImmediateRunloop() { final RunLoop runloop = new RunLoop(true); final OrderVerifier verifyer = new OrderVerifier(); verifyer.check(1); runloop.execute(new Runnable() { @Override public void run() { verifyer.check(2); runloop.execute(new Runnable() { @Override public void run() { verifyer.check(3); runloop.stop(); } }); verifyer.check(4); } }); verifyer.check(5); runloop.start(); } }