### Question:
FsEntry extends HashMap<String,Object> { public String fullPath() { if (Path == null) { Path = (String)get("path"); } if (Name == null) { Name = (String)get("name"); } final StringBuilder buf = new StringBuilder(Path); if (buf.length() > 0 && '/' != buf.charAt(buf.length() - 1)) { buf.append('/'); } buf.append(Name); return buf.toString(); }  void clear(); Map<String, Object> getChangedItems(); boolean containsKey(Object key); boolean containsValue(Object value); @Deprecated Set<Map.Entry<String,Object>> entrySet(); @Deprecated boolean equals(Object o); Object get(Object key); boolean isEmpty(); @Deprecated Set<String> keySet(); Object put(String key, Object value); void putAll(Map<? extends String,? extends Object> m); @Deprecated Object remove(Object key); int size(); @Deprecated Collection<Object> values(); void setFileSystem(FileSystem fs); Map<String, StreamProxy> getStreams(); Object getStream(); Object getStream(String key); InputStream getInputStream(); InputStream getInputStream(String key); boolean hasMetadata(); String getPath(); String getName(); String getID(); String extension(); String fullPath(); Date getCreated(); Date getWritten(); Date getAccessed(); Date getUpdated(); long getSize(); boolean parseJson(String jsonstr);  }### Answer:
@Test public void testFullPath() { FsEntry e = new FsEntry(); assertTrue(e.parseJson("{\"path\":\"a/path/\", \"name\":{\"name\":\"aname\",\"dirIndex\":2}}")); assertEquals("a/path/aname", e.fullPath()); assertTrue(e.parseJson("{\"path\":\"\", \"name\":{\"name\":\"small\",\"dirIndex\":2}}")); assertEquals("small", e.fullPath()); }