|
Commons IO example source code file (NullInputStreamTest.java)
The Commons IO NullInputStreamTest.java source code
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*/
package org.apache.commons.io.input;
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
import junit.framework.TestCase;
/**
* JUnit Test Case for {@link NullInputStream}.
*
* @version $Id: NullInputStreamTest.java 1003571 2010-10-01 16:26:35Z sebb $
*/
public class NullInputStreamTest extends TestCase {
/** Constructor */
public NullInputStreamTest(String name) {
super(name);
}
/** Set up */
@Override
protected void setUp() throws Exception {
super.setUp();
}
/** Tear Down */
@Override
protected void tearDown() throws Exception {
super.tearDown();
}
/**
* Test <code>available() method.
*/
public void testRead() throws Exception {
int size = 5;
InputStream input = new TestNullInputStream(size);
for (int i = 0; i < size; i++) {
assertEquals("Check Size [" + i + "]", (size - i), input.available());
assertEquals("Check Value [" + i + "]", i, input.read());
}
assertEquals("Available after contents all read", 0, input.available());
// Check availbale is zero after End of file
assertEquals("End of File", -1, input.read());
assertEquals("Available after End of File", 0, input.available());
// Test reading after the end of file
try {
int result = input.read();
fail("Should have thrown an IOException, byte=[" + result + "]");
} catch (IOException e) {
assertEquals("Read after end of file", e.getMessage());
}
// Close - should reset
input.close();
assertEquals("Available after close", size, input.available());
}
/**
* Test <code>read(byte[]) method.
*/
public void testReadByteArray() throws Exception {
byte[] bytes = new byte[10];
InputStream input = new TestNullInputStream(15);
// Read into array
int count1 = input.read(bytes);
assertEquals("Read 1", bytes.length, count1);
for (int i = 0; i < count1; i++) {
assertEquals("Check Bytes 1", i, bytes[i]);
}
// Read into array
int count2 = input.read(bytes);
assertEquals("Read 2", 5, count2);
for (int i = 0; i < count2; i++) {
assertEquals("Check Bytes 2", count1 + i, bytes[i]);
}
// End of File
int count3 = input.read(bytes);
assertEquals("Read 3 (EOF)", -1, count3);
// Test reading after the end of file
try {
int count4 = input.read(bytes);
fail("Should have thrown an IOException, byte=[" + count4 + "]");
} catch (IOException e) {
assertEquals("Read after end of file", e.getMessage());
}
// reset by closing
input.close();
// Read into array using offset & length
int offset = 2;
int lth = 4;
int count5 = input.read(bytes, offset, lth);
assertEquals("Read 5", lth, count5);
for (int i = offset; i < lth; i++) {
assertEquals("Check Bytes 2", i, bytes[i]);
}
}
/**
* Test when configured to throw an EOFException at the end of file
* (rather than return -1).
*/
public void testEOFException() throws Exception {
InputStream input = new TestNullInputStream(2, false, true);
assertEquals("Read 1", 0, input.read());
assertEquals("Read 2", 1, input.read());
try {
int result = input.read();
fail("Should have thrown an EOFException, byte=[" + result + "]");
} catch (EOFException e) {
// expected
}
}
/**
* Test <code>mark() and
Other Commons IO examples (source code examples)Here is a short list of links related to this Commons IO NullInputStreamTest.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.