2
* Licensed to the Apache Software Foundation (ASF) under one or more
3
* contributor license agreements. See the NOTICE file distributed with
4
* this work for additional information regarding copyright ownership.
5
* The ASF licenses this file to You under the Apache License, Version 2.0
6
* (the "License"); you may not use this file except in compliance with
7
* the License. You may obtain a copy of the License at
9
* http://www.apache.org/licenses/LICENSE-2.0
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
17
package org.apache.commons.io;
20
import java.io.IOException;
22
import junit.framework.Test;
23
import junit.framework.TestSuite;
25
import org.apache.commons.io.testtools.FileBasedTestCase;
28
* Test for FileDeleteStrategy.
30
* @version $Id: FileDeleteStrategyTestCase.java 453906 2006-10-07 13:53:09Z scolebourne $
31
* @see FileDeleteStrategy
33
public class FileDeleteStrategyTestCase extends FileBasedTestCase {
35
public static Test suite() {
36
return new TestSuite(FileDeleteStrategyTestCase.class);
39
public FileDeleteStrategyTestCase(String name) {
43
protected void setUp() throws Exception {
47
protected void tearDown() throws Exception {
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);
59
assertEquals(true, subDir.exists());
60
assertEquals(true, subFile.exists());
63
FileDeleteStrategy.NORMAL.delete(subDir);
65
} catch (IOException ex) {
68
assertEquals(true, subDir.exists());
69
assertEquals(true, subFile.exists());
71
FileDeleteStrategy.NORMAL.delete(subFile);
72
assertEquals(true, subDir.exists());
73
assertEquals(false, subFile.exists());
75
FileDeleteStrategy.NORMAL.delete(subDir);
76
assertEquals(false, subDir.exists());
78
FileDeleteStrategy.NORMAL.delete(subDir); // no error
79
assertEquals(false, subDir.exists());
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);
89
assertEquals(true, subDir.exists());
90
assertEquals(true, subFile.exists());
92
assertEquals(false, FileDeleteStrategy.NORMAL.deleteQuietly(subDir));
93
assertEquals(true, subDir.exists());
94
assertEquals(true, subFile.exists());
96
assertEquals(true, FileDeleteStrategy.NORMAL.deleteQuietly(subFile));
97
assertEquals(true, subDir.exists());
98
assertEquals(false, subFile.exists());
100
assertEquals(true, FileDeleteStrategy.NORMAL.deleteQuietly(subDir));
101
assertEquals(false, subDir.exists());
103
assertEquals(true, FileDeleteStrategy.NORMAL.deleteQuietly(subDir)); // no error
104
assertEquals(false, subDir.exists());
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);
114
assertEquals(true, subDir.exists());
115
assertEquals(true, subFile.exists());
117
FileDeleteStrategy.FORCE.delete(subDir);
118
assertEquals(false, subDir.exists());
119
assertEquals(false, subFile.exists());
121
FileDeleteStrategy.FORCE.delete(subDir); // no error
122
assertEquals(false, subDir.exists());
125
public void testDeleteNull() throws Exception {
127
FileDeleteStrategy.NORMAL.delete((File) null);
129
} catch (NullPointerException ex) {
132
assertEquals(true, FileDeleteStrategy.NORMAL.deleteQuietly((File) null));
135
public void testToString() {
136
assertEquals("FileDeleteStrategy[Normal]", FileDeleteStrategy.NORMAL.toString());
137
assertEquals("FileDeleteStrategy[Force]", FileDeleteStrategy.FORCE.toString());