TextMethodUtils.java revision f8057104af9cae031b544e971a52adafa7c0d9e
1f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project/*
2f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * Copyright (C) 2008 The Android Open Source Project
3f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project *
4f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * you may not use this file except in compliance with the License.
6f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * You may obtain a copy of the License at
7f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project *
8f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project *
10f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * See the License for the specific language governing permissions and
14f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * limitations under the License.
15f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project */
16f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project
17f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Projectpackage android.text.method.cts;
18f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project
19f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Projectimport java.lang.reflect.Field;
20f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project
21f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Projectimport junit.framework.Assert;
22f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project
23f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project/**
24f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * The useful methods for TestCases.
25f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project */
26f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Projectpublic class TextMethodUtils {
27f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project    /**
28f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project     * Assert that two char arrays are equal.
29f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project     *
30f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project     * @param char[] expected the expected
31f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project     * @param char[] result the result
32f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project     */
33f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project    public static void assertEquals(char[] expected, char[] result) {
34f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project        if (expected != result) {
35f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project            if (expected == null || result == null) {
36f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project                Assert.fail("the char arrays are not equal");
37f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project            }
38f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project
39f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project            Assert.assertEquals(String.valueOf(expected), String.valueOf(result));
40f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project        }
41f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project    }
42f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project
43f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project    /**
44f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project     * Set singleton instance with specific name in the specific class to null.
45f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project     *
46f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project     * @param String fieldName the name of the field
47f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project     *
48f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project     * @param Class<?> cls the specific class
49f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project     */
50f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project    public static void clearSingleton(Class<?> cls, String fieldName) {
51f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project        try {
52f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project            Assert.assertNotNull(cls);
53f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project            Field f = cls.getDeclaredField(fieldName);
54f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project            f.setAccessible(true);
55f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project            f.set(null, null);
56f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project            Assert.assertNull(f.get(null));
57f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project        } catch (SecurityException e) {
58f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project            Assert.fail(e.getMessage());
59f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project        } catch (NoSuchFieldException e) {
60f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project            Assert.fail(e.getMessage());
61f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project        } catch (IllegalArgumentException e) {
62f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project            Assert.fail(e.getMessage());
63f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project        } catch (IllegalAccessException e) {
64f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project            Assert.fail(e.getMessage());
65f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project        }
66f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project    }
67f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project}
68