@Test
  public void testPaths_normalize() {
    assertThatPath(path("foo/bar/..").normalize()).isRelative().and().hasNameComponents("foo");
    assertThatPath(path("foo/./bar/../baz/test/./../stuff").normalize())
        .isRelative()
        .and()
        .hasNameComponents("foo", "baz", "stuff");
    assertThatPath(path("../../foo/./bar").normalize())
        .isRelative()
        .and()
        .hasNameComponents("..", "..", "foo", "bar");
    assertThatPath(path("foo/../../bar").normalize())
        .isRelative()
        .and()
        .hasNameComponents("..", "bar");
    assertThatPath(path(".././..").normalize()).isRelative().and().hasNameComponents("..", "..");
  }
Tests an in-memory file system through the public APIs in {@link Files}, etc. This also acts as
the tests for {@code FileSystemView}, as each public API method is (mostly) implemented by a
method in {@code FileSystemView}.

<p>These tests uses a Unix-like file system, but most of what they test applies to any file
system configuration.

@author Colin Decker
jimfs/src/test/java/com/google/common/jimfs/JimfsUnixLikeFileSystemTest.java