@Test
public void testGetAbsoluteFile() {

    // relative inside
    assertEquals(ABSOLUTE_INSIDE, Files2.getAbsoluteFile(PATHS, RELATIVE_INSIDE));
    assertNotSame(ABSOLUTE_INSIDE, Files2.getAbsoluteFile(PATHS, RELATIVE_INSIDE));
    assertTrue(Files2.getAbsoluteFile(PATHS, RELATIVE_INSIDE).isAbsolute());
    assertEquals(ABSOLUTE_DIR_INSIDE, Files2.getAbsoluteFile(PATHS, RELATIVE_DIR_INSIDE));
    assertNotSame(ABSOLUTE_DIR_INSIDE, Files2.getAbsoluteFile(PATHS, RELATIVE_DIR_INSIDE));
    assertTrue(Files2.getAbsoluteFile(PATHS, RELATIVE_DIR_INSIDE).isAbsolute());
    // absolute inside
    assertEquals(ABSOLUTE_INSIDE, Files2.getAbsoluteFile(PATHS, ABSOLUTE_INSIDE));
    assertSame(ABSOLUTE_INSIDE, Files2.getAbsoluteFile(PATHS, ABSOLUTE_INSIDE));
    assertTrue(Files2.getAbsoluteFile(PATHS, ABSOLUTE_INSIDE).isAbsolute());
    assertEquals(ABSOLUTE_DIR_INSIDE, Files2.getAbsoluteFile(PATHS, ABSOLUTE_DIR_INSIDE));
    assertSame(ABSOLUTE_DIR_INSIDE, Files2.getAbsoluteFile(PATHS, ABSOLUTE_DIR_INSIDE));
    assertTrue(Files2.getAbsoluteFile(PATHS, ABSOLUTE_DIR_INSIDE).isAbsolute());
    // relative outside
    assertNotEquals(ABSOLUTE_OUTSIDE, Files2.getAbsoluteFile(PATHS, RELATIVE_OUTSIDE));
    assertNotSame(ABSOLUTE_OUTSIDE, Files2.getAbsoluteFile(PATHS, RELATIVE_OUTSIDE));
    assertNull(Files2.getAbsoluteFile(PATHS, RELATIVE_OUTSIDE));
    // absolute outside
    assertEquals(ABSOLUTE_OUTSIDE, Files2.getAbsoluteFile(PATHS, ABSOLUTE_OUTSIDE));
    assertSame(ABSOLUTE_OUTSIDE, Files2.getAbsoluteFile(PATHS, ABSOLUTE_OUTSIDE));
    assertTrue(Files2.getAbsoluteFile(PATHS, ABSOLUTE_OUTSIDE).isAbsolute());
}