URL classpath = Sweet.class.getProtectionDomain().getCodeSource().getLocation();
URLClassLoader2 loader = new URLClassLoader2(classpath);
Class<?> clazz = loader.findClass(Sweet.class.getName());
assertEquals(loader, clazz.getClassLoader());
Description d = Description.createSuiteDescription(clazz);
assertEquals(clazz, d.getTestClass());
assertNull(d.getMethodName());
assertEquals(1, d.getAnnotations().size());
assertEquals(Ignore.class, d.getAnnotations().iterator().next().annotationType());
d = Description.createTestDescription(clazz, "tessed");
assertEquals(clazz, d.getTestClass());
assertEquals("tessed", d.getMethodName());
assertEquals(0, d.getAnnotations().size());
d = Description.createTestDescription(clazz, "tessed", clazz.getMethod("tessed").getAnnotations());
assertEquals(clazz, d.getTestClass());
assertEquals("tessed", d.getMethodName());
assertEquals(1, d.getAnnotations().size());
assertEquals(Test.class, d.getAnnotations().iterator().next().annotationType());
d = d.childlessCopy();
assertEquals(clazz, d.getTestClass());
assertEquals("tessed", d.getMethodName());
assertEquals(1, d.getAnnotations().size());
assertEquals(Test.class, d.getAnnotations().iterator().next().annotationType());
}