### Question:
UnixPathType extends PathType { @Override public String toString(@NullableDecl String root, Iterable<String> names) { StringBuilder builder = new StringBuilder(); if (root != null) { builder.append(root); } joiner().appendTo(builder, names); return builder.toString(); } private  UnixPathType(); @Override ParseResult parsePath(String path); @Override String toString(@NullableDecl String root, Iterable<String> names); @Override String toUriPath(String root, Iterable<String> names, boolean directory); @Override ParseResult parseUriPath(String uriPath);  }### Answer:
@Test public void testUnix_toUri() { URI fileUri = PathType.unix().toUri(fileSystemUri, "/", ImmutableList.of("foo", "bar"), false); assertThat(fileUri.toString()).isEqualTo("jimfs: assertThat(fileUri.getPath()).isEqualTo("/foo/bar"); URI directoryUri = PathType.unix().toUri(fileSystemUri, "/", ImmutableList.of("foo", "bar"), true); assertThat(directoryUri.toString()).isEqualTo("jimfs: assertThat(directoryUri.getPath()).isEqualTo("/foo/bar/"); URI rootUri = PathType.unix().toUri(fileSystemUri, "/", ImmutableList.<String>of(), true); assertThat(rootUri.toString()).isEqualTo("jimfs: assertThat(rootUri.getPath()).isEqualTo("/"); }
@Test public void testUnix_toUri_escaping() { URI uri = PathType.unix().toUri(fileSystemUri, "/", ImmutableList.of("foo bar"), false); assertThat(uri.toString()).isEqualTo("jimfs: assertThat(uri.getRawPath()).isEqualTo("/foo%20bar"); assertThat(uri.getPath()).isEqualTo("/foo bar"); }