コード例 #1
0
 /**
  * Tests the behavior of the initializer if one of the child initializers throws a checked
  * exception.
  *
  * @throws org.apache.commons.lang3.concurrent.ConcurrentException so we don't have to catch it
  */
 @Test
 public void testInitializeEx() throws ConcurrentException {
   final ChildBackgroundInitializer child = new ChildBackgroundInitializer();
   child.ex = new Exception();
   initializer.addInitializer(CHILD_INIT, child);
   initializer.start();
   final MultiBackgroundInitializer.MultiBackgroundInitializerResults res = initializer.get();
   assertTrue("No exception flag", res.isException(CHILD_INIT));
   assertNull("Got a results object", res.getResultObject(CHILD_INIT));
   final ConcurrentException cex = res.getException(CHILD_INIT);
   assertEquals("Wrong cause", child.ex, cex.getCause());
 }
コード例 #2
0
 /**
  * Helper method for testing the initialize() method. This method can operate with both an
  * external and a temporary executor service.
  *
  * @return the result object produced by the initializer
  * @throws org.apache.commons.lang3.concurrent.ConcurrentException so we don't have to catch it
  */
 private MultiBackgroundInitializer.MultiBackgroundInitializerResults checkInitialize()
     throws ConcurrentException {
   final int count = 5;
   for (int i = 0; i < count; i++) {
     initializer.addInitializer(CHILD_INIT + i, new ChildBackgroundInitializer());
   }
   initializer.start();
   final MultiBackgroundInitializer.MultiBackgroundInitializerResults res = initializer.get();
   assertEquals("Wrong number of child initializers", count, res.initializerNames().size());
   for (int i = 0; i < count; i++) {
     final String key = CHILD_INIT + i;
     assertTrue("Name not found: " + key, res.initializerNames().contains(key));
     assertEquals("Wrong result object", Integer.valueOf(1), res.getResultObject(key));
     assertFalse("Exception flag", res.isException(key));
     assertNull("Got an exception", res.getException(key));
     checkChild(res.getInitializer(key), initializer.getActiveExecutor());
   }
   return res;
 }
コード例 #3
0
 /**
  * Tries to query the exception of an unknown child initializer from the results object. This
  * should cause an exception.
  *
  * @throws org.apache.commons.lang3.concurrent.ConcurrentException so we don't have to catch it
  */
 @Test(expected = NoSuchElementException.class)
 public void testResultGetExceptionUnknown() throws ConcurrentException {
   final MultiBackgroundInitializer.MultiBackgroundInitializerResults res = checkInitialize();
   res.getException("unknown");
 }