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