1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * this work for additional information regarding copyright ownership. 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * (the "License"); you may not use this file except in compliance with 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the License. You may obtain a copy of the License at 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License. 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage tests.api.java.util; 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew; 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargets; 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel; 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass; 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.Serializable; 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Enumeration; 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.PropertyPermission; 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.apache.harmony.testframework.serialization.SerializationTest; 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.apache.harmony.testframework.serialization.SerializationTest.SerializableAssert; 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(PropertyPermission.class) 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class PropertyPermissionTest extends junit.framework.TestCase { 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project static PropertyPermission javaPP = new PropertyPermission("java.*", "read"); 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project static PropertyPermission userPP = new PropertyPermission("user.name", 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "read,write"); 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.PropertyPermission#PropertyPermission(java.lang.String, 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * java.lang.String) 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "PropertyPermission", 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class, java.lang.String.class} 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_lang_StringLjava_lang_String() { 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.util.PropertyPermission(java.lang.String, 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.lang.String) 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Used to test", true); 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.PropertyPermission#equals(java.lang.Object) 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "equals", 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.Object.class} 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_equalsLjava_lang_Object() { 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method boolean 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.util.PropertyPermission.equals(java.lang.Object) 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PropertyPermission equalToJavaPP = new PropertyPermission("java.*", 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "read"); 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PropertyPermission notEqualToJavaPP = new PropertyPermission("java.*", 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "read, write"); 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PropertyPermission alsoNotEqualToJavaPP = new PropertyPermission( 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "java.home", "read"); 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Equal returned false for equal objects", javaPP 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals(equalToJavaPP)); 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Equal returned true for objects with different names", 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project !javaPP.equals(notEqualToJavaPP)); 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue( 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "Equal returned true for objects with different permissions", 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project !javaPP.equals(alsoNotEqualToJavaPP)); 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.PropertyPermission#getActions() 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getActions", 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getActions() { 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.util.PropertyPermission.getActions() 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("getActions did not return proper action", "read", javaPP 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getActions()); 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("getActions did not return proper canonical representation of actions", 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "read,write", userPP.getActions()); 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.PropertyPermission#hashCode() 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "hashCode", 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_hashCode() { 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.util.PropertyPermission.hashCode() 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("javaPP returned wrong hashCode", 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project javaPP.hashCode() == javaPP.getName().hashCode()); 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("userPP returned wrong hashCode", 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project userPP.hashCode() == userPP.getName().hashCode()); 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.PropertyPermission#implies(java.security.Permission) 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "implies", 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.security.Permission.class} 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_impliesLjava_security_Permission() { 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method boolean 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.util.PropertyPermission.implies(java.security.Permission) 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PropertyPermission impliedByJavaPP = new PropertyPermission( 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "java.home", "read"); 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PropertyPermission notImpliedByJavaPP = new PropertyPermission( 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "java.home", "read,write"); 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PropertyPermission impliedByUserPP = new PropertyPermission( 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "user.name", "read,write"); 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PropertyPermission alsoImpliedByUserPP = new PropertyPermission( 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "user.name", "write"); 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned false for implied permission (subset of .*)", 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project javaPP.implies(impliedByJavaPP)); 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned true for unimplied permission", !javaPP 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .implies(notImpliedByJavaPP)); 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned false for implied permission (equal)", userPP 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .implies(impliedByUserPP)); 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned false for implied permission (subset of actions)", 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project userPP.implies(alsoImpliedByUserPP)); 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.PropertyPermission#newPermissionCollection() 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "newPermissionCollection", 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_newPermissionCollection() { 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.security.PermissionCollection 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.util.PropertyPermission.newPermissionCollection() 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project java.security.PermissionCollection pc = javaPP 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .newPermissionCollection(); 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project pc.add(javaPP); 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Enumeration elementEnum = pc.elements(); 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Invalid PermissionCollection returned", elementEnum 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .nextElement().equals(javaPP)); 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.PropertyPermission#readObject(ObjectInputStream) 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.PropertyPermission#writeObject(ObjectOutputStream) 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargets({ 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Verifies serialization/deserialization.", 177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "!SerializationSelf", 178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Verifies serialization/deserialization.", 183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "!SerializationGolden", 184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }) 187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_serialization() throws Exception{ 188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PropertyPermission pp = new PropertyPermission("test", "read"); 189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project SerializationTest.verifySelf(pp, comparator); 190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project SerializationTest.verifyGolden(this, pp, comparator); 191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Sets up the fixture, for example, open a network connection. This method 195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * is called before a test is executed. 196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void setUp() { 198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Tears down the fixture, for example, close a network connection. This 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * method is called after a test is executed. 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void tearDown() { 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private static final SerializableAssert comparator = new SerializableAssert() { 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void assertDeserialized(Serializable initial, Serializable deserialized) { 210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PropertyPermission initialPP = (PropertyPermission) initial; 211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PropertyPermission deseriaPP = (PropertyPermission) deserialized; 212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("should be equal", initialPP, deseriaPP); 213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }; 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 217