paths.add(new SimplePath(String.class, parent, "p"));
paths.add(new StringPath(parent, "p"));
paths.add(new TimePath(Time.class, parent, "p"));
for (Path<?> path : paths) {
Path other = new PathImpl(path.getType(), PathMetadataFactory.forProperty(parent, "p"));
assertEquals(path.toString(), path.accept(ToStringVisitor.DEFAULT, Templates.DEFAULT));
assertEquals(path.hashCode(), other.hashCode());
assertEquals(path, other);
assertNotNull(path.getMetadata());
assertNotNull(path.getType());
assertEquals(parent, path.getRoot());
}