  @Test
  public void testNormalizePath() {

    assertEquals("single relative filename", "test.dat",
                 AbstractDir.normalizePath("test.dat"));
    assertEquals("relative path (unix)", "foo/test.dat",
                 AbstractDir.normalizePath("foo/test.dat"));
    assertEquals("absolute path (unix)", "/foo/test.dat",
                 AbstractDir.normalizePath("/foo/test.dat"));
    assertEquals("absolute uri (unix)", "file:///foo/test.dat",
                 AbstractDir.normalizePath("file:///foo/test.dat"));
    assertEquals("relative uri (unix)", "file://foo/test.dat",
                 AbstractDir.normalizePath("file://foo/test.dat"));

    assertEquals("relative path (win)", "foo/test.dat",
                 AbstractDir.normalizePath("foo\\test.dat"));
    assertEquals("absolute path (win)", "c:/foo/test.dat",
                 AbstractDir.normalizePath("c:\\foo\\test.dat"));
    assertEquals("absolute uri (win)", "file:///c:/foo/test.dat",
                 AbstractDir.normalizePath("file:///c:/foo/test.dat"));
    assertEquals("relative uri (win)", "file://foo/test.dat",
                 AbstractDir.normalizePath("file://foo/test.dat"));
    assertEquals("UNC path (win)", "//server/share/test.dat",
                 AbstractDir.normalizePath("\\\\server\\share\\test.dat"));
    assertEquals("UNC uri (win)", "file:////server/share/test.dat",
                 AbstractDir.normalizePath("file:////server/share/test.dat"));
  }