| /* |
| * Copyright (C) 2008 The Android Open Source Project |
| * |
| * 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. |
| */ |
| |
| package android.core; |
| |
| import junit.framework.TestCase; |
| |
| import java.io.ByteArrayInputStream; |
| import java.io.ByteArrayOutputStream; |
| import java.io.DataInputStream; |
| import java.io.DataOutputStream; |
| import android.test.suitebuilder.annotation.SmallTest; |
| |
| public class DataInputStreamTest extends TestCase { |
| |
| @SmallTest |
| public void testDataInputStream() throws Exception { |
| String str = "AbCdEfGhIjKlM\nOpQ\rStUvWxYz"; |
| ByteArrayInputStream aa = new ByteArrayInputStream(str.getBytes()); |
| ByteArrayInputStream ba = new ByteArrayInputStream(str.getBytes()); |
| ByteArrayInputStream ca = new ByteArrayInputStream(str.getBytes()); |
| ByteArrayInputStream da = new ByteArrayInputStream(str.getBytes()); |
| |
| DataInputStream a = new DataInputStream(aa); |
| try { |
| assertEquals(str, IOUtil.read(a)); |
| } finally { |
| a.close(); |
| } |
| |
| DataInputStream b = new DataInputStream(ba); |
| try { |
| assertEquals("AbCdEfGhIj", IOUtil.read(b, 10)); |
| } finally { |
| b.close(); |
| } |
| |
| DataInputStream c = new DataInputStream(ca); |
| try { |
| assertEquals("bdfhjl\np\rtvxz", IOUtil.skipRead(c)); |
| } finally { |
| c.close(); |
| } |
| |
| DataInputStream d = new DataInputStream(da); |
| try { |
| assertEquals("AbCdEfGhIjKlM", d.readLine()); |
| assertEquals("OpQ", d.readLine()); |
| assertEquals("StUvWxYz", d.readLine()); |
| } finally { |
| d.close(); |
| } |
| |
| ByteArrayOutputStream e = new ByteArrayOutputStream(); |
| DataOutputStream f = new DataOutputStream(e); |
| try { |
| f.writeBoolean(true); |
| f.writeByte('a'); |
| f.writeBytes("BCD"); |
| f.writeChar('e'); |
| f.writeChars("FGH"); |
| f.writeUTF("ijklm"); |
| f.writeDouble(1); |
| f.writeFloat(2); |
| f.writeInt(3); |
| f.writeLong(4); |
| f.writeShort(5); |
| } finally { |
| f.close(); |
| } |
| |
| ByteArrayInputStream ga = new ByteArrayInputStream(e.toByteArray()); |
| DataInputStream g = new DataInputStream(ga); |
| |
| try { |
| assertTrue(g.readBoolean()); |
| assertEquals('a', g.readByte()); |
| assertEquals(2, g.skipBytes(2)); |
| assertEquals('D', g.readByte()); |
| assertEquals('e', g.readChar()); |
| assertEquals('F', g.readChar()); |
| assertEquals('G', g.readChar()); |
| assertEquals('H', g.readChar()); |
| assertEquals("ijklm", g.readUTF()); |
| assertEquals(1, g.readDouble(), 0); |
| assertEquals(2f, g.readFloat(), 0f); |
| assertEquals(3, g.readInt()); |
| assertEquals(4, g.readLong()); |
| assertEquals(5, g.readShort()); |
| } finally { |
| g.close(); |
| } |
| } |
| } |