Add FileUtilsTest.testForceDeleteUnwritableFile()
diff --git a/src/test/java/org/apache/commons/io/FileUtilsTest.java b/src/test/java/org/apache/commons/io/FileUtilsTest.java
index efd1392..c2bddc3 100644
--- a/src/test/java/org/apache/commons/io/FileUtilsTest.java
+++ b/src/test/java/org/apache/commons/io/FileUtilsTest.java
@@ -1243,18 +1243,6 @@
     }
 
     @Test
-    public void testCopyFileToReadOnlyDirectory() throws Exception {
-        final File directory = new File(tempDirFile, "readonly");
-        if (!directory.exists()) {
-            assumeTrue(directory.mkdirs());
-        }
-        assumeTrue(directory.setWritable(false));
-
-        assertThrows(IOException.class, () -> FileUtils.copyFileToDirectory(testFile1, directory),
-            "Should not be able to copy a file into a readonly directory");
-    }
-
-    @Test
     public void testCopyFile2() throws Exception {
         final File destination = new File(tempDirFile, "copy2.txt");
 
@@ -1335,6 +1323,18 @@
     }
 
     @Test
+    public void testCopyFileToReadOnlyDirectory() throws Exception {
+        final File directory = new File(tempDirFile, "readonly");
+        if (!directory.exists()) {
+            assumeTrue(directory.mkdirs());
+        }
+        assumeTrue(directory.setWritable(false));
+
+        assertThrows(IOException.class, () -> FileUtils.copyFileToDirectory(testFile1, directory),
+            "Should not be able to copy a file into a readonly directory");
+    }
+
+    @Test
     public void testCopyToDirectoryWithDirectory() throws IOException {
         final File destDirectory = new File(tempDirFile, "destination");
         if (!destDirectory.exists()) {
@@ -1685,6 +1685,30 @@
     }
 
     @Test
+    public void testForceDeleteUnwritableFile() throws Exception {
+        try (TempFile destination = TempFile.create("test-", ".txt")) {
+            final File file = destination.toFile();
+            assertTrue(file.canWrite());
+            assertTrue(file.setWritable(false));
+            assertFalse(file.canWrite());
+            assertTrue(file.canRead());
+            // sanity check that File.delete() deletes read-only files.
+            assertTrue(file.delete());
+        }
+        try (TempFile destination = TempFile.create("test-", ".txt")) {
+            final File file = destination.toFile();
+            // real test
+            assertTrue(file.canWrite());
+            assertTrue(file.setWritable(false));
+            assertFalse(file.canWrite());
+            assertTrue(file.canRead());
+            assertTrue(file.exists(), "File doesn't exist to delete");
+            FileUtils.forceDelete(file);
+            assertFalse(file.exists(), "Check deletion");
+        }
+    }
+
+    @Test
     public void testForceMkdir() throws Exception {
         // Tests with existing directory
         FileUtils.forceMkdir(tempDirFile);