ImmutableListPathCore implements PathCore<ImmutableListPathCore> { @Override public ImmutableListPathCore getRoot() { if (isAbsolute()) { return new ImmutableListPathCore(root, ImmutableList.<String>of()); } else { return null; } } ImmutableListPathCore(@Nullable String root, Iterable<String> path); static Parser parser(String separator); static Parser namedRootParser(String separator, NamedRootFormat format, String rootId); @Override boolean isAbsolute(); @Override ImmutableListPathCore getRoot(); @Override ImmutableListPathCore getFileName(); @Override ImmutableListPathCore getParent(); @Override int getNameCount(); @Override ImmutableListPathCore getName(int index); @Override ImmutableListPathCore subpath(int beginIndex, int endIndex); @Override boolean startsWith(ImmutableListPathCore other); @Override boolean endsWith(ImmutableListPathCore other); @Override ImmutableListPathCore normalize(); @Override ImmutableListPathCore resolve(ImmutableListPathCore other); @Override ImmutableListPathCore resolveSibling(ImmutableListPathCore other); @Override ImmutableListPathCore relativize(ImmutableListPathCore other); @Override String toPathString(String separator); @Override String toString(); @Override int compareTo(ImmutableListPathCore other); @Override boolean equals(Object obj); @Override int hashCode(); @Nullable String getRootString(); ImmutableList<String> getPathSegments();  }
@Test public void relativeRootIsNull() { assertNull("relative root is not null", relative.getRoot()); }
@Test public void rootRootIsEqualToRoot() { assertEquals("unnamed root's root is not itself", root, root.getRoot()); assertEquals("named root's root is not itself", rootNamed, rootNamed.getRoot()); }