### Question:
ToFileStoreWriter implements StoreWriter { @Override public long write( String path, ReadableByteChannel data, ByteBuffer temporaryBuffer, boolean hasData, int requiredElementAlignment ) throws IOException { try { temporaryBuffer.clear(); File file = new File( basePath, path ); file.getParentFile().mkdirs(); String fullFilePath = file.toString(); monitor.startReceivingStoreFile( fullFilePath ); try { return writeDataThroughFileSystem( file, data, temporaryBuffer, hasData ); } finally { monitor.finishReceivingStoreFile( fullFilePath ); } } catch ( Throwable t ) { throw new IOException( t ); } } ToFileStoreWriter( File graphDbStoreDir, FileSystemAbstraction fs,
            StoreCopyClientMonitor storeCopyClientMonitor ); @Override long write( String path, ReadableByteChannel data, ByteBuffer temporaryBuffer, boolean hasData,
            int requiredElementAlignment ); @Override void close();  }### Answer:
@Test public void fullPathFileNamesUsedForMonitoringBackup() throws IOException { AtomicBoolean wasActivated = new AtomicBoolean( false ); StoreCopyClientMonitor monitor = new StoreCopyClientMonitor.Adapter() { @Override public void startReceivingStoreFile( String file ) { assertTrue( file.contains( "expectedFileName" ) ); wasActivated.set( true ); } }; ToFileStoreWriter writer = new ToFileStoreWriter( directory.absolutePath(), fs, monitor ); ByteBuffer tempBuffer = ByteBuffer.allocate( 128 ); writer.write( "expectedFileName", new DataProducer( 16 ), tempBuffer, true, 16 ); assertTrue( wasActivated.get() ); }