### Question:
FileRelativeIO implements IFileRelativeIO { @Nonnull public static FileRelativeIO createForCurrentDir () { return new FileRelativeIO (new File (".").getAbsoluteFile ()); } FileRelativeIO(@Nonnull final File aBasePath); static void internalCheckAccessRights(@Nonnull final File aBasePath); @Nonnull File getBasePathFile(); @Override boolean equals(final Object o); @Override int hashCode(); @Override String toString(); @Nonnull static FileRelativeIO createForCurrentDir();  }### Answer:
@Test public void testBasePath () throws IOException { final IFileRelativeIO aIO = FileRelativeIO.createForCurrentDir (); final String sTestFile = "testfile"; final String sTestContent = "This is the test file content"; final String sTestFile2 = "testfile2"; assertFalse (aIO.existsFile (sTestFile)); try { final OutputStream aOS = aIO.getOutputStream (sTestFile); assertNotNull (aOS); aOS.write (sTestContent.getBytes (StandardCharsets.ISO_8859_1)); assertTrue (StreamHelper.close (aOS).isSuccess ()); assertTrue (aIO.existsFile (sTestFile)); assertTrue (aIO.renameFile (sTestFile, sTestFile2).isSuccess ()); assertFalse (aIO.existsFile (sTestFile)); assertTrue (aIO.existsFile (sTestFile2)); assertTrue (aIO.renameFile (sTestFile2, sTestFile).isSuccess ()); assertTrue (aIO.existsFile (sTestFile)); assertFalse (aIO.existsFile (sTestFile2)); try (final InputStream aIS = aIO.getResource (sTestFile).getInputStream ()) { assertNotNull (aIS); final String sReadContent = StreamHelper.getAllBytesAsString (aIS, StandardCharsets.ISO_8859_1); assertEquals (sTestContent, sReadContent); } } finally { if (aIO.existsFile (sTestFile)) assertTrue (aIO.deleteFile (sTestFile).isSuccess ()); if (aIO.existsFile (sTestFile2)) assertTrue (aIO.deleteFile (sTestFile2).isSuccess ()); assertFalse (aIO.existsFile (sTestFile)); } }