### Question:
ProxyModuleDefinition implements ModuleDefinition { public ModuleMetadata getMetadata() { ModuleMetadata metadata = new ModuleMetadata(); generate(metadata); return metadata; } ProxyModuleDefinition(ClassLoader classLoader);  ProxyModuleDefinition(ClassLoader classLoader,
      List<ManifestProxy.SeparatorMappings> mappings); String getName(); String[] getPublicInterfaces(); ModuleDependency[] getDependencies(); URI[] getLocations(); String getVersion(); String getImportPolicyClassName(); String getLifecyclePolicyClassName(); Manifest getManifest(); ModuleMetadata getMetadata();  }### Answer:
@Test public void testGetMetadata() throws Exception { ClassLoader loader = ProxyModuleDefinitionTest.class.getClassLoader(); ProxyModuleDefinition pmd = new ProxyModuleDefinition(loader); ModuleMetadata md = pmd.getMetadata(); assertNotNull(md); assertNotSame(md, pmd.getMetadata()); assertNotNull(md.getEntries()); assertFalse(md.getEntries().iterator().hasNext()); }