### Question:
RootPath extends AbstractPath { public int size() { return 0; } private  RootPath(); Path getAncestor( int degree ); @Override Path getCanonicalPath(); @Override Path getCommonAncestor( Path that ); @Override Segment getLastSegment(); @Override boolean endsWith( Name nameOfLastSegment ); @Override boolean endsWith( Name nameOfLastSegment,
                             int snsIndex ); @Override Path getNormalizedPath(); @Override Path relativeToRoot(); @Override Path resolve( Path relativePath ); @Override Path getParent(); @Override Segment getSegment( int index ); @Override Segment[] getSegmentsArray(); List<Segment> getSegmentsList(); @Override String getString(); @Override String getString( TextEncoder encoder ); @Override String getString( NamespaceRegistry namespaceRegistry ); @Override String getString( NamespaceRegistry namespaceRegistry,
                             TextEncoder encoder ); @Override String getString( NamespaceRegistry namespaceRegistry,
                             TextEncoder encoder,
                             TextEncoder delimiterEncoder ); @Override boolean hasSameAncestor( Path that ); boolean isAbsolute(); @Override boolean isAncestorOf( Path decendant ); @Override boolean isAtOrAbove( Path other ); @Override boolean isAtOrBelow( Path other ); @Override boolean isDecendantOf( Path ancestor ); boolean isNormalized(); boolean isRoot(); @Override boolean isSameAs( Path other ); @Override Iterator<Segment> iterator(); @Override Iterator<Path> pathsFromRoot(); int size(); @Override Path subpath( int beginIndex ); @Override Path subpath( int beginIndex,
                         int endIndex ); @Override int compareTo( Path other ); @Override boolean equals( Object obj ); static final Path INSTANCE; }### Answer:
@Test public void shouldReturnSizeOfZero() { assertThat(root.size(), is(0)); }