### Question:
VirtualContainer implements Closeable { public Element getObj(String fileName) throws FileNotFoundException, DocumentException { if (fileName == null || fileName.length() == 0) { throw new IllegalArgumentException("文件名不能为空"); } Element element = fileCache.get(fileName); if (element == null) { Path file = getFile(fileName); element = ElemCup.inject(file); fileCache.put(fileName, element); } return element; } private  VirtualContainer();  VirtualContainer(Path fullDir);  VirtualContainer(Path parent, String dirName); String getContainerName(); String getSysAbsPath(); VirtualContainer putFile(Path file); VirtualContainer putObj(String fileName, Element element); Element getObj(String fileName); Path getFile(String fileName); R obtainContainer(String name, Function<Path, R> mapper); R getContainer(String name, Function<Path, R> mapper); VirtualContainer getParent(); Path getContainerPath(); boolean exit(String fileName); void clean(); void flush(); VirtualContainer flushContainerByName(String name); VirtualContainer flushFileByName(String name); ST_Loc getAbsLoc(); @Override void close();  }### Answer:
@Test void getObj() throws IOException, DocumentException { String fileName = "Content.xml"; Path path = Paths.get("src/test/resources", fileName); vc.putFile(path); Element obj = vc.getObj(fileName); Assertions.assertEquals("ofd:Page", obj.getQualifiedName()); }