@Test
public void testGetRelativeFile() {

    // relative inside
    assertEquals(RELATIVE_INSIDE, Files2.getRelativeFile(PATHS, RELATIVE_INSIDE));
    assertSame(RELATIVE_INSIDE, Files2.getRelativeFile(PATHS, RELATIVE_INSIDE));
    assertFalse(Files2.getRelativeFile(PATHS, RELATIVE_INSIDE).isAbsolute());
    // absolute inside
    assertEquals(RELATIVE_INSIDE, Files2.getRelativeFile(PATHS, ABSOLUTE_INSIDE));
    assertNotSame(RELATIVE_INSIDE, Files2.getRelativeFile(PATHS, ABSOLUTE_INSIDE));
    assertFalse(Files2.getRelativeFile(PATHS, ABSOLUTE_INSIDE).isAbsolute());
    // relative outside
    assertEquals(RELATIVE_OUTSIDE, Files2.getRelativeFile(PATHS, RELATIVE_OUTSIDE));
    assertSame(RELATIVE_OUTSIDE, Files2.getRelativeFile(PATHS, RELATIVE_OUTSIDE));
    assertFalse(Files2.getRelativeFile(PATHS, RELATIVE_OUTSIDE).isAbsolute());
    // absolute outside
    assertNotEquals(RELATIVE_OUTSIDE, Files2.getRelativeFile(PATHS, ABSOLUTE_OUTSIDE));
    assertNotSame(RELATIVE_OUTSIDE, Files2.getRelativeFile(PATHS, ABSOLUTE_OUTSIDE));
    assertNull(Files2.getRelativeFile(PATHS, ABSOLUTE_OUTSIDE));
}