### Question:
ModuleOfClassPredicate implements ModuleDescriptorPredicate<T> { public boolean matches(final ModuleDescriptor<? extends T> moduleDescriptor) { if (moduleDescriptor != null) { final Class<? extends T> moduleClassInDescriptor = moduleDescriptor.getModuleClass(); return (moduleClassInDescriptor != null) && moduleClass.isAssignableFrom(moduleClassInDescriptor); } return false; } ModuleOfClassPredicate(final Class<T> moduleClass); boolean matches(final ModuleDescriptor<? extends T> moduleDescriptor);  }### Answer:
@Test public void testDoesNotMatchModuleNotExtendingClass() { mockModuleDescriptor.matchAndReturn("getModuleClass", int.class); assertFalse(moduleDescriptorPredicate.matches(moduleDescriptor)); }
@Test public void testMatchesModuleExtendingClass() { mockModuleDescriptor.matchAndReturn("getModuleClass", this.getClass()); assertTrue(moduleDescriptorPredicate.matches(moduleDescriptor)); }