1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.io;
18
19 import java.io.File;
20 import java.io.IOException;
21
22 import junit.framework.Test;
23 import junit.framework.TestSuite;
24
25 import org.apache.commons.io.testtools.FileBasedTestCase;
26
27
28
29
30
31
32
33 public class FileDeleteStrategyTestCase extends FileBasedTestCase {
34
35 public static Test suite() {
36 return new TestSuite(FileDeleteStrategyTestCase.class);
37 }
38
39 public FileDeleteStrategyTestCase(String name) {
40 super(name);
41 }
42
43 protected void setUp() throws Exception {
44 super.setUp();
45 }
46
47 protected void tearDown() throws Exception {
48 super.tearDown();
49 }
50
51
52 public void testDeleteNormal() throws Exception {
53 File baseDir = getTestDirectory();
54 File subDir = new File(baseDir, "test");
55 assertEquals(true, subDir.mkdir());
56 File subFile = new File(subDir, "a.txt");
57 createFile(subFile, 16);
58
59 assertEquals(true, subDir.exists());
60 assertEquals(true, subFile.exists());
61
62 try {
63 FileDeleteStrategy.NORMAL.delete(subDir);
64 fail();
65 } catch (IOException ex) {
66
67 }
68 assertEquals(true, subDir.exists());
69 assertEquals(true, subFile.exists());
70
71 FileDeleteStrategy.NORMAL.delete(subFile);
72 assertEquals(true, subDir.exists());
73 assertEquals(false, subFile.exists());
74
75 FileDeleteStrategy.NORMAL.delete(subDir);
76 assertEquals(false, subDir.exists());
77
78 FileDeleteStrategy.NORMAL.delete(subDir);
79 assertEquals(false, subDir.exists());
80 }
81
82 public void testDeleteQuietlyNormal() throws Exception {
83 File baseDir = getTestDirectory();
84 File subDir = new File(baseDir, "test");
85 assertEquals(true, subDir.mkdir());
86 File subFile = new File(subDir, "a.txt");
87 createFile(subFile, 16);
88
89 assertEquals(true, subDir.exists());
90 assertEquals(true, subFile.exists());
91
92 assertEquals(false, FileDeleteStrategy.NORMAL.deleteQuietly(subDir));
93 assertEquals(true, subDir.exists());
94 assertEquals(true, subFile.exists());
95
96 assertEquals(true, FileDeleteStrategy.NORMAL.deleteQuietly(subFile));
97 assertEquals(true, subDir.exists());
98 assertEquals(false, subFile.exists());
99
100 assertEquals(true, FileDeleteStrategy.NORMAL.deleteQuietly(subDir));
101 assertEquals(false, subDir.exists());
102
103 assertEquals(true, FileDeleteStrategy.NORMAL.deleteQuietly(subDir));
104 assertEquals(false, subDir.exists());
105 }
106
107 public void testDeleteForce() throws Exception {
108 File baseDir = getTestDirectory();
109 File subDir = new File(baseDir, "test");
110 assertEquals(true, subDir.mkdir());
111 File subFile = new File(subDir, "a.txt");
112 createFile(subFile, 16);
113
114 assertEquals(true, subDir.exists());
115 assertEquals(true, subFile.exists());
116
117 FileDeleteStrategy.FORCE.delete(subDir);
118 assertEquals(false, subDir.exists());
119 assertEquals(false, subFile.exists());
120
121 FileDeleteStrategy.FORCE.delete(subDir);
122 assertEquals(false, subDir.exists());
123 }
124
125 public void testDeleteNull() throws Exception {
126 try {
127 FileDeleteStrategy.NORMAL.delete((File) null);
128 fail();
129 } catch (NullPointerException ex) {
130
131 }
132 assertEquals(true, FileDeleteStrategy.NORMAL.deleteQuietly((File) null));
133 }
134
135 public void testToString() {
136 assertEquals("FileDeleteStrategy[Normal]", FileDeleteStrategy.NORMAL.toString());
137 assertEquals("FileDeleteStrategy[Force]", FileDeleteStrategy.FORCE.toString());
138 }
139
140 }