AccessibleObjectTest.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.lang.reflect; 19 20import dalvik.annotation.TestInfo; 21import dalvik.annotation.TestLevel; 22import dalvik.annotation.TestTarget; 23import dalvik.annotation.TestTargetClass; 24 25import java.lang.reflect.AccessibleObject; 26 27@TestTargetClass(AccessibleObject.class) 28public class AccessibleObjectTest extends junit.framework.TestCase { 29 30 public class TestClass { 31 public Object aField; 32 } 33 34 /** 35 * @tests java.lang.reflect.AccessibleObject#isAccessible() 36 */ 37 @TestInfo( 38 level = TestLevel.COMPLETE, 39 purpose = "", 40 targets = { 41 @TestTarget( 42 methodName = "isAccessible", 43 methodArgs = {} 44 ) 45 }) 46 public void test_isAccessible() { 47 // Test for method boolean 48 // java.lang.reflect.AccessibleObject.isAccessible() 49 try { 50 AccessibleObject ao = TestClass.class.getField("aField"); 51 ao.setAccessible(true); 52 assertTrue("Returned false to isAccessible", ao.isAccessible()); 53 ao.setAccessible(false); 54 assertTrue("Returned true to isAccessible", !ao.isAccessible()); 55 } catch (Exception e) { 56 fail("Exception during test : " + e.getMessage()); 57 } 58 } 59 60 /** 61 * @tests java.lang.reflect.AccessibleObject#setAccessible(java.lang.reflect.AccessibleObject[], 62 * boolean) 63 */ 64 @TestInfo( 65 level = TestLevel.PARTIAL, 66 purpose = "Doesn't verify SecurityException.", 67 targets = { 68 @TestTarget( 69 methodName = "setAccessible", 70 methodArgs = {java.lang.reflect.AccessibleObject[].class, boolean.class} 71 ) 72 }) 73 public void test_setAccessible$Ljava_lang_reflect_AccessibleObjectZ() { 74 // Test for method void 75 // java.lang.reflect.AccessibleObject.setAccessible(java.lang.reflect.AccessibleObject 76 // [], boolean) 77 try { 78 AccessibleObject ao = TestClass.class.getField("aField"); 79 AccessibleObject[] aoa = new AccessibleObject[] { ao }; 80 AccessibleObject.setAccessible(aoa, true); 81 assertTrue("Returned false to isAccessible", ao.isAccessible()); 82 AccessibleObject.setAccessible(aoa, false); 83 assertTrue("Returned true to isAccessible", !ao.isAccessible()); 84 } catch (Exception e) { 85 fail("Exception during test : " + e.getMessage()); 86 } 87 } 88 89 /** 90 * @tests java.lang.reflect.AccessibleObject#setAccessible(boolean) 91 */ 92 @TestInfo( 93 level = TestLevel.TODO, 94 purpose = "Empty test, setAccessible(boolean) method is not " + 95 "verified.", 96 targets = { 97 @TestTarget( 98 methodName = "setAccessible", 99 methodArgs = {boolean.class} 100 ) 101 }) 102 public void test_setAccessibleZ() { 103 // Test for method void 104 // java.lang.reflect.AccessibleObject.setAccessible(boolean) 105 assertTrue("Used to test", true); 106 } 107 108 /** 109 * Sets up the fixture, for example, open a network connection. This method 110 * is called before a test is executed. 111 */ 112 protected void setUp() { 113 } 114 115 /** 116 * Tears down the fixture, for example, close a network connection. This 117 * method is called after a test is executed. 118 */ 119 protected void tearDown() { 120 } 121} 122