StringBufferInputStreamTest.java revision 561ee011997c6c2f1befbfaa9d5f0a99771c1d63
18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *  Licensed to the Apache Software Foundation (ASF) under one or more
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *  contributor license agreements.  See the NOTICE file distributed with
48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *  this work for additional information regarding copyright ownership.
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *  The ASF licenses this file to You under the Apache License, Version 2.0
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *  (the "License"); you may not use this file except in compliance with
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *  the License.  You may obtain a copy of the License at
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *     http://www.apache.org/licenses/LICENSE-2.0
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *  See the License for the specific language governing permissions and
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *  limitations under the License.
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectpackage org.apache.harmony.luni.tests.java.io;
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectimport java.io.StringBufferInputStream;
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectimport java.io.UnsupportedEncodingException;
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@SuppressWarnings("deprecation")
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectpublic class StringBufferInputStreamTest extends junit.framework.TestCase {
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    StringBufferInputStream sbis;
27d0825bca7fe65beaee391d30da42e937db621564Steve Block
288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	/**
298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 * @tests java.io.StringBufferInputStream#StringBufferInputStream(java.lang.String)
30545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch	 */
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	public void test_ConstructorLjava_lang_String() {
328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		// Test for method java.io.StringBufferInputStream(java.lang.String)
335af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke	}
348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	/**
368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 * @tests java.io.StringBufferInputStream#available()
378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 */
388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	public void test_available() {
398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		// Test for method int java.io.StringBufferInputStream.available()
408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		assertEquals("Returned incorrect number of available bytes", 11, sbis
418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				.available());
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	/**
458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 * @tests java.io.StringBufferInputStream#read()
465f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian	 */
478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	public void test_read() throws UnsupportedEncodingException {
488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		// Test for method int java.io.StringBufferInputStream.read()
498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		byte[] buf = new byte[5];
508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		sbis.skip(6);
518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		sbis.read(buf, 0, 5);
528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		assertEquals("Returned incorrect chars", "World", new String(buf, "UTF-8"));
53e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block	}
54e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block
55e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke	/**
568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 * @tests java.io.StringBufferInputStream#read(byte[], int, int)
578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 */
588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	public void test_read$BII() {
598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		// Test for method int java.io.StringBufferInputStream.read(byte [],
608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		// int, int)
618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		assertEquals("Read returned incorrect char", 'H', sbis.read());
628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
63e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block
64e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block	/**
65e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke	 * @tests java.io.StringBufferInputStream#reset()
668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 */
678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	public void test_reset() {
688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		// Test for method void java.io.StringBufferInputStream.reset()
698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		long s = sbis.skip(6);
708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		assertEquals("Unable to skip correct umber of chars", 6, s);
718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		sbis.reset();
728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		assertEquals("Failed to reset", 'H', sbis.read());
738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	/**
768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 * @tests java.io.StringBufferInputStream#skip(long)
778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 */
788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	public void test_skipJ() {
798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		// Test for method long java.io.StringBufferInputStream.skip(long)
808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		long s = sbis.skip(6);
818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		assertEquals("Unable to skip correct umber of chars", 6, s);
828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		assertEquals("Skip positioned at incorrect char", 'W', sbis.read());
838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
85d0825bca7fe65beaee391d30da42e937db621564Steve Block	/**
868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 * Sets up the fixture, for example, open a network connection. This method
878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 * is called before a test is executed.
888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 */
898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	protected void setUp() {
908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		sbis = new StringBufferInputStream("Hello World");
918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	/**
948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 * Tears down the fixture, for example, close a network connection. This
958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 * method is called after a test is executed.
968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 */
978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	protected void tearDown() {
988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project