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