### Question:
XmlUtilsTask implements Task { public Map<String, String> mavenGav(@InjectVariable("workDir") String workDir, String file) throws Exception { return delegate(workDir).mavenGav(file); }  String xpathString(@InjectVariable("workDir") String workDir, String file, String expression); List<String> xpathListOfStrings(@InjectVariable("workDir") String workDir, String file, String expression); Map<String, String> mavenGav(@InjectVariable("workDir") String workDir, String file); @Override void execute(Context ctx);  }### Answer:
@Test public void testMavenGav() throws Exception { URL src = ClassLoader.getSystemResource("test.xml"); String workDir = Paths.get(src.toURI()).getParent().toAbsolutePath().toString(); XmlUtilsTask t = new XmlUtilsTask(); Map<String, String> m = t.mavenGav(workDir, "test.xml"); assertEquals(3, m.size()); assertEquals("com.walmartlabs.concord", m.get("groupId")); assertEquals("parent", m.get("artifactId")); assertEquals("1.52.1-SNAPSHOT", m.get("version")); m = t.mavenGav(workDir, "test2.xml"); assertEquals(3, m.size()); assertEquals("com.walmartlabs.concord.plugins", m.get("groupId")); assertEquals("xml-tasks", m.get("artifactId")); assertEquals("1.27.1-SNAPSHOT", m.get("version")); }