### Question:
Containment implements Serializable { public String getPath(String templateId) { return path.get(templateId); } Containment(String className, String symbol, String archetypeId); void setPath(String template, String path); String getSymbol(); String getArchetypeId(); String getPath(String templateId); String getClassName(); void setSymbol(String symbol); String toString(); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test public void testFullPathResolution() { String query = "SELECT e, o" + " FROM EHR e" + " CONTAINS COMPOSITION c" + " CONTAINS ADMIN_ENTRY o[openEHR-EHR-ADMIN_ENTRY.hospitalization.v0]" + " CONTAINS CLUSTER l[openEHR-EHR-CLUSTER.location.v1]"; AqlExpression aqlExpression = new AqlExpression().parse(query); Contains contains = new Contains(aqlExpression.getParseTree(), knowledge).process(); assertTrue(contains.getTemplates().contains("Patientenaufenthalt")); assertEquals("/content[openEHR-EHR-ADMIN_ENTRY.hospitalization.v0]", ((Containment) contains.getIdentifierMapper().getContainer("o")).getPath("Patientenaufenthalt")); assertNotNull("/content[openEHR-EHR-ADMIN_ENTRY.hospitalization.v0]/data[at0001]/items[openEHR-EHR-CLUSTER.location.v1]", ((Containment) contains.getIdentifierMapper().getContainer("l")).getPath("Patientenaufenthalt")); }
@Test public void testFullPathResolution2() { String query = "SELECT e, o" + " FROM EHR e" + " CONTAINS COMPOSITION" + " CONTAINS ADMIN_ENTRY" + " CONTAINS CLUSTER l[openEHR-EHR-CLUSTER.location.v1]"; AqlExpression aqlExpression = new AqlExpression().parse(query); Contains contains = new Contains(aqlExpression.getParseTree(), knowledge).process(); assertTrue(contains.getTemplates().contains("Patientenaufenthalt")); assertNotNull("/content[openEHR-EHR-ADMIN_ENTRY.hospitalization.v0]/data[at0001]/items[openEHR-EHR-CLUSTER.location.v1]", ((Containment) contains.getIdentifierMapper().getContainer("l")).getPath("Patientenaufenthalt")); }