@Test public void testException() throws Exception { try { ClassLookup.find().orThrow(new NullPointerException()).get(); fail(NullPointerException.class.getSimpleName() + " expected"); } catch (NullPointerException e) { // expected } try { ClassLookup.find().orThrow(new IOException()).get(); fail(RuntimeException.class.getSimpleName() + " expected"); } catch (RuntimeException e) { assertSame(IOException.class, e.getCause().getClass()); } String msg = "I knew it!"; try { ClassLookup.find().orThrow(msg).get(); fail(RuntimeException.class.getSimpleName() + " expected"); } catch (RuntimeException e) { assertEquals(true, e.toString().endsWith(ExceptionUtils.getMessage(e))); } try { ClassLookup.find().orThrow(msg).list(); fail(RuntimeException.class.getSimpleName() + " expected"); } catch (Exception e) { assertEquals(true, e.toString().endsWith(ExceptionUtils.getMessage(e))); } }
@Test public void testNull() throws Exception { assertEquals(null, ClassLookup.forName(null)); assertEquals(null, ClassLookup.forName("")); assertEquals(null, ClassLookup.find().get()); assertEquals(null, ClassLookup.find(ArrayUtils.EMPTY_STRING_ARRAY).get()); assertEquals(null, ClassLookup.find((String) null).get()); assertEquals(null, ClassLookup.find((String[]) null).get()); assertEquals(null, ClassLookup.find(new String[] {null}).get()); ClassLookup lookup = ClassLookup.find(null, Byte.class.getName()); assertEquals( (Class) Byte.class, lookup .or((Class<?>) null) .or((String) null) .orThrow(null) .orThrow(null, (String) null) .get()); }
@Test public void testList() throws Exception { assertEquals(0, ClassLookup.find().list().size()); assertEquals(0, ClassLookup.find("").list().size()); assertEquals(1, ClassLookup.find("", Object.class.getName()).list().size()); }