@Test
@DisplayName("Check that the modify event listener is notified")
void modify_callback_1(@TempDir Path temp) throws IOException, InterruptedException {

	assumeFalse(SystemUtil.OS_TYPE == OsType.MACOS);
	BlockingQueue<FileListlet> eventQueue = new ArrayBlockingQueue<>(5);
	Files.write(temp.resolve("test.txt"), "1234".getBytes());
	try (FsHandle fs = new FsHandle(temp.toString())) {
		fs.addUpdateCallback(ev -> {
			ev.getListingList().stream().forEachOrdered(eventQueue::add);
		});
		// Modify file
		Files.write(temp.resolve("test.txt"), "5678".getBytes(), APPEND);
		FileListlet fileModified = eventQueue.poll(5000, TimeUnit.MILLISECONDS);
		assertNotNull(fileModified);
		assertEquals("test.txt", fileModified.getName());
		assertEquals(UpdateType.ENTRY_MODIFY, fileModified.getUpdateType());
		assertEquals(0, eventQueue.size(), "Unexpected events: " + Arrays.toString(eventQueue.toArray()));
	}
}