Java tutorial
package de.fhg.iais.commons.stream; /****************************************************************************** * Copyright 2011 (c) Fraunhofer IAIS Netmedia http://www.iais.fraunhofer.de * * ************************************************************************** * * Licensed under the Apache License, Version 2.0 (the "License"); you may * * not use this file except in compliance with the License. * * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * * software distributed under the License is distributed on an "AS IS" BASIS, * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and * * limitations under the License. * ******************************************************************************/ import java.io.IOException; import org.apache.commons.io.IOUtils; import org.junit.Assert; import org.junit.Test; public class AutoFileOutputStreamTest extends OutputStreamTestBase { @Test public void testWriting() throws IOException { AutoFileOutputStream os = new AutoFileOutputStream(FILE_STRING, false); os.write(CONTENT); os.setCompleted(); os.close(); IOUtils.closeQuietly(os); checkContentAndRemoveFile(CONTENT); } @Test public void testWritingAndCloseAsCompleted() throws IOException { AutoFileOutputStream os = new AutoFileOutputStream(FILE_STRING, false); os.write(CONTENT); os.closeAsCompleted(); IOUtils.closeQuietly(os); checkContentAndRemoveFile(CONTENT); } @Test public void testFailedWriting() throws IOException { AutoFileOutputStream os = new AutoFileOutputStream(FILE_STRING, false); os.write(CONTENT); os.onFinally(); Assert.assertFalse("Without close() the file must be deleted automatically", FILE.exists()); } }