StreamCorruptedExceptionTest.java revision 89c1feb0a69a7707b271086e749975b3f7acacf7
1/*
2 *  Licensed to the Apache Software Foundation (ASF) under one or more
3 *  contributor license agreements.  See the NOTICE file distributed with
4 *  this work for additional information regarding copyright ownership.
5 *  The ASF licenses this file to You under the Apache License, Version 2.0
6 *  (the "License"); you may not use this file except in compliance with
7 *  the License.  You may obtain a copy of the License at
8 *
9 *     http://www.apache.org/licenses/LICENSE-2.0
10 *
11 *  Unless required by applicable law or agreed to in writing, software
12 *  distributed under the License is distributed on an "AS IS" BASIS,
13 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 *  See the License for the specific language governing permissions and
15 *  limitations under the License.
16 */
17
18package tests.api.java.io;
19
20import dalvik.annotation.TestTargetClass;
21import dalvik.annotation.TestInfo;
22import dalvik.annotation.TestTarget;
23import dalvik.annotation.TestLevel;
24
25import java.io.ByteArrayInputStream;
26import java.io.ObjectInputStream;
27import java.io.StreamCorruptedException;
28
29@TestTargetClass(StreamCorruptedException.class)
30public class StreamCorruptedExceptionTest extends junit.framework.TestCase {
31
32    /**
33     * @tests java.io.StreamCorruptedException#StreamCorruptedException()
34     */
35@TestInfo(
36      level = TestLevel.PARTIAL,
37      purpose = "Test does not checks constructor functionality (doing this indirectly and which constructor used non obvious)",
38      targets = {
39        @TestTarget(
40          methodName = "StreamCorruptedException",
41          methodArgs = {}
42        )
43    })
44    public void test_Constructor() {
45        // Test for method java.io.StreamCorruptedException()
46
47        try {
48            ObjectInputStream ois = new ObjectInputStream(
49                    new ByteArrayInputStream(
50                            "kLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLl"
51                                    .getBytes()));
52            ois.readObject();
53        } catch (StreamCorruptedException e) {
54            // Correct
55            return;
56        } catch (Exception e) {
57            fail("Exception during test : " + e.getMessage());
58        }
59        fail("Failed to throw exception for non serialized stream");
60    }
61
62    /**
63     * @tests java.io.StreamCorruptedException#StreamCorruptedException(java.lang.String)
64     */
65@TestInfo(
66      level = TestLevel.PARTIAL,
67      purpose = "Test does not checks constructor functionality (doing this indirectly and which constructor used non obvious)",
68      targets = {
69        @TestTarget(
70          methodName = "StreamCorruptedException",
71          methodArgs = {java.lang.String.class}
72        )
73    })
74    public void test_ConstructorLjava_lang_String() {
75        // Test for method java.io.StreamCorruptedException(java.lang.String)
76        try {
77            ObjectInputStream ois = new ObjectInputStream(
78                    new ByteArrayInputStream(
79                            "kLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLl"
80                                    .getBytes()));
81            ois.readObject();
82        } catch (StreamCorruptedException e) {
83            // Correct
84            return;
85        } catch (Exception e) {
86            fail("Exception during test : " + e.getMessage());
87        }
88        fail("Failed to throw exception for non serialized stream");
89    }
90
91    /**
92     * Sets up the fixture, for example, open a network connection. This method
93     * is called before a test is executed.
94     */
95    protected void setUp() {
96    }
97
98    /**
99     * Tears down the fixture, for example, close a network connection. This
100     * method is called after a test is executed.
101     */
102    protected void tearDown() {
103    }
104}
105