@Override public void run() { if (exceptionStopsChain) { runExceptionsCascade(); } else { runIsolated(); } }
@Test public void constructorTest() { new RunnableChain(false, null).run(); new RunnableChain(true, null).run(); }
@Test public void runAllProvidedTest() { List<TestRunnable> list = new ArrayList<>(TEST_QTY); for (int i = 0; i < TEST_QTY; i++) { list.add(new ChainRunnable(i == FAIL_INDEX)); } RunnableChain chain = new RunnableChain(false, list); try { chain.run(); } catch (RuntimeException expected) { // ignore expected exception } for (int i = 0; i < TEST_QTY; i++) { TestRunnable tr = list.get(i); assertEquals(1, tr.getRunCount()); } }
@Override public void run() { if (exceptionStopsChain) { runExceptionsCascade(); } else { runIsolated(); } }
@Test public void exceptionStopsChainTest() { List<TestRunnable> list = new ArrayList<>(TEST_QTY); for (int i = 0; i < TEST_QTY; i++) { list.add(new ChainRunnable(i == FAIL_INDEX)); } RunnableChain chain = new RunnableChain(true, list); try { chain.run(); } catch (RuntimeException expected) { // ignore expected exception } for (int i = 0; i < TEST_QTY; i++) { TestRunnable tr = list.get(i); if (i > FAIL_INDEX) { assertEquals(0, tr.getRunCount()); } else { assertEquals(1, tr.getRunCount()); } } }