### Question:
PropertyPath implements Comparable<PropertyPath> { public abstract String toString(); PropertyPath(); static PropertyPath parse(String path); Property property(String name); final Index index(long index); final Key key(String index); final PropertyPath keyOrIndex(Object object); final PropertyPath node(NodeId nodeId); final AnyProperty anyProperty(); final AnyIndex anyIndex(); final AnyKey anyKey(); final Any any(); final SubPath propertyOrKey(String string); final PropertyPath path(PropertyPath path); List<SubPath> asList(); boolean isRoot(); boolean startsWith(PropertyPath other); PropertyPath toSchemaPath(); @Override int compareTo(PropertyPath other); abstract String toString(); abstract boolean equals(Object obj); abstract int hashCode(); abstract NodeId getNodeId(); static final Root ROOT; }### Answer:
@Test public void To_String() { assertThat(_0.toString()).isEqualTo("[0]"); assertThat(children_0().toString()).isEqualTo("children[0]"); assertThat(children_0_name().toString()).isEqualTo("children[0].name"); }
@Test public void Nested_Indexes() { assertThat(_1_0.toString()).isEqualTo("[1][0]"); }