1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/*
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  Licensed to the Apache Software Foundation (ASF) under one or more
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  contributor license agreements.  See the NOTICE file distributed with
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  this work for additional information regarding copyright ownership.
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  The ASF licenses this file to You under the Apache License, Version 2.0
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  (the "License"); you may not use this file except in compliance with
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  the License.  You may obtain a copy of the License at
8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *     http://www.apache.org/licenses/LICENSE-2.0
10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  See the License for the specific language governing permissions and
15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  limitations under the License.
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
18935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonpackage libcore.java.io;
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.ByteArrayInputStream;
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.IOException;
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
23935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonpublic class OldByteArrayInputStreamTest extends junit.framework.TestCase {
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    private ByteArrayInputStream is;
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public String fileString = "Test_All_Tests\nTest_java_io_BufferedInputStream\nTest_java_io_BufferedOutputStream\nTest_ByteArrayInputStream\nTest_java_io_ByteArrayOutputStream\nTest_java_io_DataInputStream\n";
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_Constructor$B() {
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Test for method java.io.ByteArrayInputStream(byte [])
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        java.io.InputStream bis = new java.io.ByteArrayInputStream(fileString
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                .getBytes());
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("Unable to create ByteArrayInputStream",
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    bis.available() == fileString.length());
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            System.out.println("Exception during Constructor test");
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_Constructor$BII() throws IOException {
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Test for method java.io.ByteArrayInputStream(byte [], int, int)
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        byte[] zz = fileString.getBytes();
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        java.io.InputStream bis = new java.io.ByteArrayInputStream(zz, 0, 100);
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Unable to create ByteArrayInputStream",
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    100, bis.available());
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Exception during Constructor test");
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
55f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Regression test for Harmony-2405
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        new SubByteArrayInputStream(new byte[] { 1, 2 }, 444, 13);
58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals(444, SubByteArrayInputStream.pos);
59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals(444, SubByteArrayInputStream.mark);
60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals(2, SubByteArrayInputStream.count);
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
62f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    static class SubByteArrayInputStream extends ByteArrayInputStream {
64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        public static byte[] buf;
65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        public static int mark, pos, count;
67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        SubByteArrayInputStream(byte[] buf, int offset, int length)
69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                throws IOException {
70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            super(buf, offset, length);
71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            buf = super.buf;
72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            mark = super.mark;
73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            pos = super.pos;
74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            count = super.count;
75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_available() {
79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Test for method int java.io.ByteArrayInputStream.available()
80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("Returned incorrect number of available bytes", is
82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    .available() == fileString.length());
83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Exception during available test");
85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_close() {
89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        is.read();
90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.close();
92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (java.io.IOException e) {
93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Test 1: Failed to close the input stream.");
94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.read();
97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Test 2: Should be able to read from closed stream.");
99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_markI() {
103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Test for method void java.io.ByteArrayInputStream.mark(int)
104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        byte[] buf1 = new byte[100];
105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        byte[] buf2 = new byte[100];
106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.skip(3000);
108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.mark(1000);
109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.read(buf1, 0, buf1.length);
110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.reset();
111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.read(buf2, 0, buf2.length);
112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.reset();
113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("Failed to mark correct position", new String(buf1, 0,
114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    buf1.length).equals(new String(buf2, 0, buf2.length)));
115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Exception during mark test");
118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_markSupported() {
123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Test for method boolean java.io.ByteArrayInputStream.markSupported()
124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue("markSupported returned incorrect value", is.markSupported());
125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_read() {
128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Test for method int java.io.ByteArrayInputStream.read()
129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            int c = is.read();
132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.reset();
133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("read returned incorrect char", c == fileString
134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    .charAt(0));
135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Exception during read test");
137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_read$BII() throws IOException {
141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        byte[] buf1 = new byte[20];
142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        is.skip(50);
143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        is.mark(100);
144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        is.read(buf1, 0, buf1.length);
145f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes        assertTrue("Test 1: Failed to read correct data.",
146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                new String(buf1, 0, buf1.length).equals(
147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                        fileString.substring(50, 70)));
148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Illegal argument checks.
150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.read(null, 1, 0);
152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Test 2: NullPointerException expected.");
153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (NullPointerException e) {
154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            // Expected.
155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.read(buf1 , -1, 1);
159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Test 3: IndexOutOfBoundsException expected.");
160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (IndexOutOfBoundsException e) {
161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            // Expected
162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
163f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.read(buf1 , 1, -1);
166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Test 4: IndexOutOfBoundsException expected.");
167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (IndexOutOfBoundsException e) {
168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            // Expected
169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.read(buf1, 1, buf1.length);
173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Test 5: IndexOutOfBoundsException expected.");
174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (IndexOutOfBoundsException e) {
175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            // Expected
176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_reset() {
180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Test for method void java.io.ByteArrayInputStream.reset()
181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        byte[] buf1 = new byte[10];
182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        byte[] buf2 = new byte[10];
183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.mark(200);
185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.read(buf1, 0, 10);
186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.reset();
187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.read(buf2, 0, 10);
188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.reset();
189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("Reset failed", new String(buf1, 0, buf1.length)
190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    .equals(new String(buf2, 0, buf2.length)));
191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Exception during reset test : " + e.getMessage());
193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_skipJ() {
197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Test for method long java.io.ByteArrayInputStream.skip(long)
198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        byte[] buf1 = new byte[10];
199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.skip(100);
201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.read(buf1, 0, buf1.length);
202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("Failed to skip to correct position", new String(buf1,
203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    0, buf1.length).equals(fileString.substring(100, 110)));
204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Exception during skip test : " + e.getMessage());
206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    protected void setUp() {
210935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson        is = new ByteArrayInputStream(fileString.getBytes());
211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    protected void tearDown() {
215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            is.close();
217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
221