001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017: package org.apache.commons.io;
018:
019: import java.io.File;
020: import java.io.IOException;
021:
022: import junit.framework.Test;
023: import junit.framework.TestSuite;
024:
025: import org.apache.commons.io.testtools.FileBasedTestCase;
026:
027: /**
028: * Test for FileDeleteStrategy.
029: *
030: * @version $Id: FileDeleteStrategyTestCase.java 453906 2006-10-07 13:53:09Z scolebourne $
031: * @see FileDeleteStrategy
032: */
033: public class FileDeleteStrategyTestCase extends FileBasedTestCase {
034:
035: public static Test suite() {
036: return new TestSuite(FileDeleteStrategyTestCase.class);
037: }
038:
039: public FileDeleteStrategyTestCase(String name) {
040: super (name);
041: }
042:
043: protected void setUp() throws Exception {
044: super .setUp();
045: }
046:
047: protected void tearDown() throws Exception {
048: super .tearDown();
049: }
050:
051: //-----------------------------------------------------------------------
052: public void testDeleteNormal() throws Exception {
053: File baseDir = getTestDirectory();
054: File subDir = new File(baseDir, "test");
055: assertEquals(true, subDir.mkdir());
056: File subFile = new File(subDir, "a.txt");
057: createFile(subFile, 16);
058:
059: assertEquals(true, subDir.exists());
060: assertEquals(true, subFile.exists());
061: // delete dir
062: try {
063: FileDeleteStrategy.NORMAL.delete(subDir);
064: fail();
065: } catch (IOException ex) {
066: // expected
067: }
068: assertEquals(true, subDir.exists());
069: assertEquals(true, subFile.exists());
070: // delete file
071: FileDeleteStrategy.NORMAL.delete(subFile);
072: assertEquals(true, subDir.exists());
073: assertEquals(false, subFile.exists());
074: // delete dir
075: FileDeleteStrategy.NORMAL.delete(subDir);
076: assertEquals(false, subDir.exists());
077: // delete dir
078: FileDeleteStrategy.NORMAL.delete(subDir); // no error
079: assertEquals(false, subDir.exists());
080: }
081:
082: public void testDeleteQuietlyNormal() throws Exception {
083: File baseDir = getTestDirectory();
084: File subDir = new File(baseDir, "test");
085: assertEquals(true, subDir.mkdir());
086: File subFile = new File(subDir, "a.txt");
087: createFile(subFile, 16);
088:
089: assertEquals(true, subDir.exists());
090: assertEquals(true, subFile.exists());
091: // delete dir
092: assertEquals(false, FileDeleteStrategy.NORMAL
093: .deleteQuietly(subDir));
094: assertEquals(true, subDir.exists());
095: assertEquals(true, subFile.exists());
096: // delete file
097: assertEquals(true, FileDeleteStrategy.NORMAL
098: .deleteQuietly(subFile));
099: assertEquals(true, subDir.exists());
100: assertEquals(false, subFile.exists());
101: // delete dir
102: assertEquals(true, FileDeleteStrategy.NORMAL
103: .deleteQuietly(subDir));
104: assertEquals(false, subDir.exists());
105: // delete dir
106: assertEquals(true, FileDeleteStrategy.NORMAL
107: .deleteQuietly(subDir)); // no error
108: assertEquals(false, subDir.exists());
109: }
110:
111: public void testDeleteForce() throws Exception {
112: File baseDir = getTestDirectory();
113: File subDir = new File(baseDir, "test");
114: assertEquals(true, subDir.mkdir());
115: File subFile = new File(subDir, "a.txt");
116: createFile(subFile, 16);
117:
118: assertEquals(true, subDir.exists());
119: assertEquals(true, subFile.exists());
120: // delete dir
121: FileDeleteStrategy.FORCE.delete(subDir);
122: assertEquals(false, subDir.exists());
123: assertEquals(false, subFile.exists());
124: // delete dir
125: FileDeleteStrategy.FORCE.delete(subDir); // no error
126: assertEquals(false, subDir.exists());
127: }
128:
129: public void testDeleteNull() throws Exception {
130: try {
131: FileDeleteStrategy.NORMAL.delete((File) null);
132: fail();
133: } catch (NullPointerException ex) {
134: // expected
135: }
136: assertEquals(true, FileDeleteStrategy.NORMAL
137: .deleteQuietly((File) null));
138: }
139:
140: public void testToString() {
141: assertEquals("FileDeleteStrategy[Normal]",
142: FileDeleteStrategy.NORMAL.toString());
143: assertEquals("FileDeleteStrategy[Force]",
144: FileDeleteStrategy.FORCE.toString());
145: }
146:
147: }
|