1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* Licensed to the Apache Software Foundation (ASF) under one or more
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * contributor license agreements.  See the NOTICE file distributed with
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * this work for additional information regarding copyright ownership.
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * (the "License"); you may not use this file except in compliance with
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the License.  You may obtain a copy of the License at
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     http://www.apache.org/licenses/LICENSE-2.0
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License.
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage org.apache.harmony.luni.tests.java.lang;
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargets;
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel;
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew;
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass;
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport junit.framework.TestCase;
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Properties;
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(Integer.class)
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class IntegerTest extends TestCase {
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    private Properties orgProps;
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @Override
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void setUp() {
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        orgProps = System.getProperties();
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @Override
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void tearDown() {
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.setProperties(orgProps);
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#byteValue()
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "byteValue",
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_byteValue() {
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method byte java.lang.Integer.byteValue()
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect byte value", -1, new Integer(65535)
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .byteValue());
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect byte value", 127, new Integer(127)
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .byteValue());
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#compareTo(java.lang.Integer)
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "compareTo",
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.Integer.class}
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_compareToLjava_lang_Integer() {
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method int java.lang.Integer.compareTo(java.lang.Integer)
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("-2 compared to 1 gave non-negative answer", new Integer(-2)
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .compareTo(new Integer(1)) < 0);
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("-2 compared to -2 gave non-zero answer", 0, new Integer(-2)
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .compareTo(new Integer(-2)));
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("3 compared to 2 gave non-positive answer", new Integer(3)
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .compareTo(new Integer(2)) > 0);
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            new Integer(0).compareTo(null);
79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("No NPE");
80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NullPointerException e) {
81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#decode(java.lang.String)
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 = "decode",
91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_decodeLjava_lang_String2() {
94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.Integer
95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // java.lang.Integer.decode(java.lang.String)
96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Failed for 132233",
97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                132233, Integer.decode("132233").intValue());
98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Failed for 07654321",
99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                07654321, Integer.decode("07654321").intValue());
100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed for #1234567",
101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.decode("#1234567").intValue() == 0x1234567);
102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed for 0xdAd",
103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.decode("0xdAd").intValue() == 0xdad);
104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Failed for -23", -23, Integer.decode("-23").intValue());
105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value for 0 decimal", 0, Integer
106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .decode("0").intValue());
107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value for 0 hex", 0, Integer.decode("0x0")
108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .intValue());
109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value for most negative value decimal",
110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.decode("-2147483648").intValue() == 0x80000000);
111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value for most negative value hex",
112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.decode("-0x80000000").intValue() == 0x80000000);
113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value for most positive value decimal",
114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.decode("2147483647").intValue() == 0x7fffffff);
115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value for most positive value hex",
116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.decode("0x7fffffff").intValue() == 0x7fffffff);
117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        boolean exception = false;
119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.decode("0a");
121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // correct
123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw NumberFormatException for \"Oa\"",
126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                exception);
127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.decode("2147483648");
131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.decode("-2147483649");
140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.decode("0x80000000");
149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for hex MAX_VALUE + 1", exception);
154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.decode("-0x80000001");
158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for hex MIN_VALUE - 1", exception);
163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.decode("9999999999");
167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for 9999999999", exception);
1723819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson
1733819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        try {
1743819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            Integer.decode("-");
1753819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            fail("Expected exception for -");
1763819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        } catch (NumberFormatException e) {
1773819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            // Expected
1783819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        }
1793819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson
1803819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        try {
1813819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            Integer.decode("0x");
1823819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            fail("Expected exception for 0x");
1833819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        } catch (NumberFormatException e) {
1843819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            // Expected
1853819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        }
1863819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson
1873819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        try {
1883819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            Integer.decode("#");
1893819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            fail("Expected exception for #");
1903819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        } catch (NumberFormatException e) {
1913819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            // Expected
1923819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        }
1933819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson
1943819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        try {
1953819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            Integer.decode("x123");
1963819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            fail("Expected exception for x123");
1973819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        } catch (NumberFormatException e) {
1983819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            // Expected
1993819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        }
2003819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson
2013819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        try {
2023819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            Integer.decode(null);
2033819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            fail("Expected exception for null");
2043819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        } catch (NullPointerException e) {
2053819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            // Expected
2063819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        }
2073819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson
2083819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        try {
2093819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            Integer.decode("");
2103819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            fail("Expected exception for empty string");
2113819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        } catch (NumberFormatException ex) {
2123819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            // Expected
2133819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        }
2143819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson
2153819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        try {
2163819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            Integer.decode(" ");
2173819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            fail("Expected exception for single space");
2183819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        } catch (NumberFormatException ex) {
2193819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson            // Expected
2203819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        }
2213819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson
222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#doubleValue()
226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Checks integer's boundary values.",
230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "doubleValue",
231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_doubleValue2() {
234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method double java.lang.Integer.doubleValue()
235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect double value", 2147483647.0, new Integer(2147483647)
236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .doubleValue(), 0.0D);
237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect double value", -2147483647.0, new Integer(-2147483647)
238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .doubleValue(), 0.0D);
239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#equals(java.lang.Object)
243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "equals",
248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.Object.class}
249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_equalsLjava_lang_Object2() {
251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method boolean java.lang.Integer.equals(java.lang.Object)
252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Integer i1 = new Integer(1000);
253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Integer i2 = new Integer(1000);
254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Integer i3 = new Integer(-1000);
255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Equality test failed", i1.equals(i2) && !(i1.equals(i3)));
256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#floatValue()
260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "floatValue",
265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_floatValue2() {
268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method float java.lang.Integer.floatValue()
269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect float value", new Integer(65535)
270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .floatValue() == 65535.0f);
271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect float value", new Integer(-65535)
272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .floatValue() == -65535.0f);
273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#getInteger(java.lang.String)
277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getInteger",
282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_getIntegerLjava_lang_String() {
285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.Integer
286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // java.lang.Integer.getInteger(java.lang.String)
287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Properties tProps = new Properties();
288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        tProps.put("testInt", "99");
289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.setProperties(tProps);
290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("returned incorrect Integer", Integer.getInteger("testInt")
291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .equals(new Integer(99)));
292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertNull("returned incorrect default Integer", Integer
293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .getInteger("ff"));
294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#getInteger(java.lang.String, int)
298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getInteger",
303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, int.class}
304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_getIntegerLjava_lang_StringI() {
306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.Integer
307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // java.lang.Integer.getInteger(java.lang.String, int)
308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Properties tProps = new Properties();
309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        tProps.put("testInt", "99");
310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        tProps.put("testIncInt", "notInt");
311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.setProperties(tProps);
312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("returned incorrect Integer", Integer.getInteger("testInt",
313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                4).equals(new Integer(99)));
314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("returned incorrect default Integer", Integer.getInteger(
315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "ff", 4).equals(new Integer(4)));
316f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("returned incorrect default Integer", Integer.getInteger(
317f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "testIncInt", 4).equals(new Integer(4)));
318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#getInteger(java.lang.String, java.lang.Integer)
322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
324f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getInteger",
327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.Integer.class}
328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
329f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_getIntegerLjava_lang_StringLjava_lang_Integer() {
330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.Integer
331f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // java.lang.Integer.getInteger(java.lang.String, java.lang.Integer)
332f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Properties tProps = new Properties();
333f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        tProps.put("testInt", "99");
334f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        tProps.put("testIncInt", "notInt");
335f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.setProperties(tProps);
336f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("returned incorrect Integer", Integer.getInteger("testInt",
337f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                new Integer(4)).equals(new Integer(99)));
338f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("returned incorrect default Integer", Integer.getInteger(
339f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "ff", new Integer(4)).equals(new Integer(4)));
340f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("returned incorrect default Integer", Integer.getInteger(
341f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "testIncInt", new Integer(4)).equals(new Integer(4)));
342f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
343f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
344f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
345f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#hashCode()
346f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
347f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
348f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
349f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
350f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "hashCode",
351f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
352f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
353f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_hashCode2() {
354f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method int java.lang.Integer.hashCode()
355f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
356f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Integer i1 = new Integer(1000);
357f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Integer i2 = new Integer(-1000);
358f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect hashcode", i1.hashCode() == 1000
359f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                && (i2.hashCode() == -1000));
360f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
361f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
362f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
363f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#intValue()
364f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
365f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
366f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL,
367f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Checks one value.",
368f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "intValue",
369f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
370f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
371f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_intValue2() {
372f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method int java.lang.Integer.intValue()
373f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
374f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Integer i = new Integer(8900);
375f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect int value", 8900, i.intValue());
376f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
377f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
378f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
379f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#longValue()
380f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
381f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
382f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL,
383f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Checks one value.",
384f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "longValue",
385f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
386f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
387f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_longValue2() {
388f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method long java.lang.Integer.longValue()
389f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Integer i = new Integer(8900);
390f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect long value", 8900L, i.longValue());
391f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
392f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
393f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
394f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#parseInt(java.lang.String)
395f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
396f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
397f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
398f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
399f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "parseInt",
400f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
401f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
402f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_parseIntLjava_lang_String2() {
403f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method int java.lang.Integer.parseInt(java.lang.String)
404f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
405f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        int i = Integer.parseInt("-8900");
406f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect int", -8900, i);
407f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value for 0", 0, Integer.parseInt("0"));
408f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value for most negative value", Integer
409f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .parseInt("-2147483648") == 0x80000000);
410f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value for most positive value", Integer
411f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .parseInt("2147483647") == 0x7fffffff);
412f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
413f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        boolean exception = false;
414f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
415f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("999999999999");
416f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
417f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
418f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
419f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
420f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for value > int", exception);
421f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
422f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
423f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
424f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("2147483648");
425f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
426f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
427f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
428f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
429f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
430f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
431f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
432f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
433f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("-2147483649");
434f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
435f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
436f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
437f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
438f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
439f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
440f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
441f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
442f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#parseInt(java.lang.String, int)
443f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
444f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
445f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
446f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
447f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "parseInt",
448f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, int.class}
449f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
450f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_parseIntLjava_lang_StringI2() {
451f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method int java.lang.Integer.parseInt(java.lang.String, int)
452f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Parsed dec val incorrectly",
453f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                -8000, Integer.parseInt("-8000", 10));
454f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Parsed hex val incorrectly",
455f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                255, Integer.parseInt("FF", 16));
456f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Parsed oct val incorrectly",
457f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                16, Integer.parseInt("20", 8));
458f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value for 0 hex", 0, Integer.parseInt("0",
459f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                16));
460f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value for most negative value hex",
461f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.parseInt("-80000000", 16) == 0x80000000);
462f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value for most positive value hex",
463f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.parseInt("7fffffff", 16) == 0x7fffffff);
464f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value for 0 decimal", 0, Integer.parseInt(
465f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "0", 10));
466f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value for most negative value decimal",
467f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.parseInt("-2147483648", 10) == 0x80000000);
468f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value for most positive value decimal",
469f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.parseInt("2147483647", 10) == 0x7fffffff);
470f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
471f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        boolean exception = false;
472f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
473f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("FFFF", 10);
474f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
475f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
476f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
477f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
478f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue(
479f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "Failed to throw exception when passes hex string and dec parm",
480f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                exception);
481f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
482f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
483f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
484f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("2147483648", 10);
485f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
486f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
487f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
488f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
489f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
490f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
491f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
492f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
493f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("-2147483649", 10);
494f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
495f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
496f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
497f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
498f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
499f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
500f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
501f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
502f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("80000000", 16);
503f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
504f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
505f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
506f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
507f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for hex MAX_VALUE + 1", exception);
508f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
509f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
510f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
511f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("-80000001", 16);
512f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
513f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
514f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
515f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
516f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for hex MIN_VALUE + 1", exception);
517f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
518f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
519f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
520f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("9999999999", 10);
521f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
522f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
523f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
524f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
525f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for 9999999999", exception);
526f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
527f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
528f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
529f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#shortValue()
530f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
531f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
532f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL,
533f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Checks one value.",
534f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "shortValue",
535f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
536f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
537f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_shortValue2() {
538f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method short java.lang.Integer.shortValue()
539f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Integer i = new Integer(2147450880);
540f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect long value", -32768, i.shortValue());
541f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
542f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
543f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
544f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#toBinaryString(int)
545f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
546f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
547f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
548f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
549f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toBinaryString",
550f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
551f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
552f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toBinaryStringI() {
553f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.String
554f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // java.lang.Integer.toBinaryString(int)
555f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect string returned", "1111111111111111111111111111111", Integer.toBinaryString(
556f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.MAX_VALUE));
557f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect string returned", "10000000000000000000000000000000", Integer.toBinaryString(
558f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.MIN_VALUE));
559f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
560f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
561f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
562f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#toHexString(int)
563f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
564f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
565f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
566f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
567f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toHexString",
568f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
569f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
570f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toHexStringI() {
571f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.String java.lang.Integer.toHexString(int)
572f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
573f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String[] hexvals = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
574f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "a", "b", "c", "d", "e", "f" };
575f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
576f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        for (int i = 0; i < 16; i++) {
577f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertTrue("Incorrect string returned " + hexvals[i], Integer
578f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    .toHexString(i).equals(hexvals[i]));
579f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
580f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
581f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect hex string: "
582f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                + Integer.toHexString(Integer.MAX_VALUE), Integer.toHexString(
583f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.MAX_VALUE).equals("7fffffff"));
584f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect hex string: "
585f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                + Integer.toHexString(Integer.MIN_VALUE), Integer.toHexString(
586f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.MIN_VALUE).equals("80000000"));
587f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
588f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
589f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
590f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#toOctalString(int)
591f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
592f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
593f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
594f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
595f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toOctalString",
596f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
597f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
598f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toOctalStringI() {
599f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.String java.lang.Integer.toOctalString(int)
600f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Spec states that the int arg is treated as unsigned
601f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect octal string", "17777777777", Integer.toOctalString(
602f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.MAX_VALUE));
603f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect octal string", "20000000000", Integer.toOctalString(
604f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.MIN_VALUE));
605f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
606f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
607f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
608f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#toString()
609f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
610f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
611f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL,
612f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Checks one value.",
613f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toString",
614f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
615f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
616f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toString2() {
617f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.String java.lang.Integer.toString()
618f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
619f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Integer i = new Integer(-80001);
620f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
621f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect String", "-80001", i.toString());
622f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
623f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
624f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
625f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#toString(int)
626f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
627f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
628f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
629f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
630f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toString",
631f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
632f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
633f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toStringI2() {
634f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.String java.lang.Integer.toString(int)
635f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
636f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect String", "-80765", Integer.toString(-80765)
637f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                );
638f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect octal string", "2147483647", Integer.toString(
639f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.MAX_VALUE));
640f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect octal string", "-2147483647", Integer.toString(
641f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                -Integer.MAX_VALUE));
642f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect octal string", "-2147483648", Integer.toString(
643f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Integer.MIN_VALUE));
6443819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson
6453819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        // Test for HARMONY-6068
6463819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        assertEquals("Returned incorrect octal String", "-1000", Integer.toString(-1000));
6473819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        assertEquals("Returned incorrect octal String", "1000", Integer.toString(1000));
6483819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        assertEquals("Returned incorrect octal String", "0", Integer.toString(0));
6493819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        assertEquals("Returned incorrect octal String", "708", Integer.toString(708));
6503819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        assertEquals("Returned incorrect octal String", "-100", Integer.toString(-100));
6513819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        assertEquals("Returned incorrect octal String", "-1000000008", Integer.toString(-1000000008));
6523819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson        assertEquals("Returned incorrect octal String", "2000000008", Integer.toString(2000000008));
653f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
654f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
655f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
656f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#toString(int, int)
657f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
658f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
659f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
660f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
661f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toString",
662f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class, int.class}
663f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
664f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toStringII() {
665f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.String java.lang.Integer.toString(int, int)
666f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect octal string", "17777777777", Integer.toString(
667f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                2147483647, 8));
668f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect hex string--wanted 7fffffff but got: "
669f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                + Integer.toString(2147483647, 16), Integer.toString(
670f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                2147483647, 16).equals("7fffffff"));
671f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect string returned", "1111111111111111111111111111111", Integer.toString(2147483647, 2)
672f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                );
673f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect string returned", "2147483647", Integer
674f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .toString(2147483647, 10));
675f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
676f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect octal string", "-17777777777", Integer.toString(
677f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                -2147483647, 8));
678f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect hex string--wanted -7fffffff but got: "
679f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                + Integer.toString(-2147483647, 16), Integer.toString(
680f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                -2147483647, 16).equals("-7fffffff"));
681f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect string returned",
682f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                        "-1111111111111111111111111111111", Integer
683f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .toString(-2147483647, 2));
684f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect string returned", "-2147483647", Integer.toString(-2147483647,
685f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                10));
686f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
687f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect octal string", "-20000000000", Integer.toString(
688f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                -2147483648, 8));
689f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect hex string--wanted -80000000 but got: "
690f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                + Integer.toString(-2147483648, 16), Integer.toString(
691f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                -2147483648, 16).equals("-80000000"));
692f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect string returned",
693f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                        "-10000000000000000000000000000000", Integer
694f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .toString(-2147483648, 2));
695f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect string returned", "-2147483648", Integer.toString(-2147483648,
696f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                10));
697f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
698f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
699f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
700f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#valueOf(java.lang.String)
701f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
702f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
703f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
704f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Verifies boundary values.",
705f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "valueOf",
706f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
707f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
708f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_valueOfLjava_lang_String2() {
709f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.Integer
710f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // java.lang.Integer.valueOf(java.lang.String)
711f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect int", 8888888, Integer.valueOf("8888888")
712f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .intValue());
713f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect int", Integer.valueOf("2147483647")
714f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .intValue() == Integer.MAX_VALUE);
715f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect int", Integer.valueOf("-2147483648")
716f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .intValue() == Integer.MIN_VALUE);
717f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
718f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        boolean exception = false;
719f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
720f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf("2147483648");
721f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
722f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
723f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
724f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
725f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception with MAX_VALUE + 1", exception);
726f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
727f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
728f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
729f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf("-2147483649");
730f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
731f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
732f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
733f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
734f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception with MIN_VALUE - 1", exception);
735f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
736f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
737f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
738f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#valueOf(java.lang.String, int)
739f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
740f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
741f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
742f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Checks boundary values.",
743f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "valueOf",
744f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, int.class}
745f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
746f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_valueOfLjava_lang_StringI2() {
747f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.Integer
748f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // java.lang.Integer.valueOf(java.lang.String, int)
749f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect int for hex string", 255, Integer.valueOf(
750f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "FF", 16).intValue());
751f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect int for oct string", 16, Integer.valueOf(
752f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "20", 8).intValue());
753f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect int for bin string", 4, Integer.valueOf(
754f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "100", 2).intValue());
755f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
756f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect int for - hex string", -255, Integer.valueOf(
757f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "-FF", 16).intValue());
758f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect int for - oct string", -16, Integer.valueOf(
759f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "-20", 8).intValue());
760f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect int for - bin string", -4, Integer.valueOf(
761f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "-100", 2).intValue());
762f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect int", Integer.valueOf("2147483647", 10)
763f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .intValue() == Integer.MAX_VALUE);
764f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect int", Integer.valueOf("-2147483648", 10)
765f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .intValue() == Integer.MIN_VALUE);
766f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect int", Integer.valueOf("7fffffff", 16)
767f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .intValue() == Integer.MAX_VALUE);
768f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect int", Integer.valueOf("-80000000", 16)
769f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .intValue() == Integer.MIN_VALUE);
770f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
771f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        boolean exception = false;
772f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
773f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf("FF", 2);
774f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
775f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
776f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
777f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
778f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue(
779f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "Failed to throw exception with hex string and base 2 radix",
780f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                exception);
781f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
782f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
783f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
784f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf("2147483648", 10);
785f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
786f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
787f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
788f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
789f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception with MAX_VALUE + 1", exception);
790f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
791f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
792f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
793f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf("-2147483649", 10);
794f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
795f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
796f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
797f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
798f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception with MIN_VALUE - 1", exception);
799f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
800f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
801f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
802f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf("80000000", 16);
803f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
804f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
805f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
806f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
807f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception with hex MAX_VALUE + 1",
808f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                exception);
809f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
810f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
811f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
812f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf("-80000001", 16);
813f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
814f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
815f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
816f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
817f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception with hex MIN_VALUE - 1",
818f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                exception);
819f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
820f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
821f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
822f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#valueOf(byte)
823f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
824f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
825f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
826f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
827f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "valueOf",
828f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
829f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
830f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_valueOfI() {
831f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(Integer.MIN_VALUE), Integer.valueOf(Integer.MIN_VALUE));
832f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(Integer.MAX_VALUE), Integer.valueOf(Integer.MAX_VALUE));
833f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(0), Integer.valueOf(0));
834f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
835f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        short s = -128;
836f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        while (s < 128) {
837f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(new Integer(s), Integer.valueOf(s));
838f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertSame(Integer.valueOf(s), Integer.valueOf(s));
839f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            s++;
840f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
841f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
842f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
843f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
844f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#hashCode()
845f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
846f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
847f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
848f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
849f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "hashCode",
850f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
851f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
852f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_hashCode() {
853f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, new Integer(1).hashCode());
854f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, new Integer(2).hashCode());
855f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, new Integer(0).hashCode());
856f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, new Integer(-1).hashCode());
857f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
858f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
859f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
860f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#Integer(String)
861f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
862f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
863f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
864f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
865f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "Integer",
866f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
867f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
868f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_ConstructorLjava_lang_String() {
869f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(0), new Integer("0"));
870f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(1), new Integer("1"));
871f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(-1), new Integer("-1"));
872f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
873f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
874f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            new Integer("0x1");
875f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with hex string.");
876f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
877f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
878f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
879f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            new Integer("9.2");
880f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with floating point string.");
881f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
882f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
883f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
884f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            new Integer("");
885f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with empty string.");
886f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
887f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
888f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
889f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            new Integer(null);
890f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with null string.");
891f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
892f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
893f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
894f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
895f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#Integer
896f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
897f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
898f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
899f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
900f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "Integer",
901f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
902f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
903f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_ConstructorI() {
904f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, new Integer(1).intValue());
905f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, new Integer(2).intValue());
906f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, new Integer(0).intValue());
907f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, new Integer(-1).intValue());
908f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
909f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Integer i = new Integer(-89000);
910f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect Integer created", -89000, i.intValue());
911f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
912f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
913f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
914f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#byteValue()
915f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
916f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
917f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
918f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
919f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "byteValue",
920f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
921f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
922f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_booleanValue() {
923f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, new Integer(1).byteValue());
924f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, new Integer(2).byteValue());
925f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, new Integer(0).byteValue());
926f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, new Integer(-1).byteValue());
927f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
928f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
929f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
930f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#equals(Object)
931f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
932f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
933f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
934f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
935f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "equals",
936f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.Object.class}
937f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
938f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_equalsLjava_lang_Object() {
939f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(0), Integer.valueOf(0));
940f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(1), Integer.valueOf(1));
941f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(-1), Integer.valueOf(-1));
942f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
943f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Integer fixture = new Integer(25);
944f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(fixture, fixture);
945f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertFalse(fixture.equals(null));
946f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertFalse(fixture.equals("Not a Integer"));
947f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
948f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
949f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
950f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#toString()
951f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
952f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
953f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
954f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
955f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toString",
956f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
957f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
958f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toString() {
959f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("-1", new Integer(-1).toString());
960f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("0", new Integer(0).toString());
961f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("1", new Integer(1).toString());
962f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("-1", new Integer(0xFFFFFFFF).toString());
963f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
964f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
965f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
966f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#toString
967f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
968f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
969f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
970f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
971f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toString",
972f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
973f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
974f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toStringI() {
975f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("-1", Integer.toString(-1));
976f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("0", Integer.toString(0));
977f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("1", Integer.toString(1));
978f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("-1", Integer.toString(0xFFFFFFFF));
979f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
980f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
981f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
982f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#valueOf(String)
983f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
984f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
985f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
986f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't check boundary values.",
987f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "valueOf",
988f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
989f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
990f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_valueOfLjava_lang_String() {
991f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(0), Integer.valueOf("0"));
992f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(1), Integer.valueOf("1"));
993f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(-1), Integer.valueOf("-1"));
994f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
995f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
996f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf("0x1");
997f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with hex string.");
998f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
999f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1000f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1001f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf("9.2");
1002f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with floating point string.");
1003f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1004f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1005f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1006f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf("");
1007f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with empty string.");
1008f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1009f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1010f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1011f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf(null);
1012f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with null string.");
1013f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1014f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1015f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1016f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1017f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#valueOf(String,int)
1018f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1019f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1020f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
1021f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't check boundary values.",
1022f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "valueOf",
1023f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, int.class}
1024f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1025f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_valueOfLjava_lang_StringI() {
1026f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(0), Integer.valueOf("0", 10));
1027f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(1), Integer.valueOf("1", 10));
1028f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(-1), Integer.valueOf("-1", 10));
1029f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1030f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        //must be consistent with Character.digit()
1031f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Character.digit('1', 2), Integer.valueOf("1", 2).byteValue());
1032f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Character.digit('F', 16), Integer.valueOf("F", 16).byteValue());
1033f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1034f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1035f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf("0x1", 10);
1036f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with hex string.");
1037f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1038f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1039f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1040f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf("9.2", 10);
1041f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with floating point string.");
1042f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1043f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1044f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1045f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf("", 10);
1046f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with empty string.");
1047f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1048f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1049f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1050f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.valueOf(null, 10);
1051f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with null string.");
1052f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1053f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1054f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1055f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1056f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#parseInt(String)
1057f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1058f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1059f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
1060f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't check boundary values.",
1061f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "parseInt",
1062f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
1063f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1064f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_parseIntLjava_lang_String() {
1065f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Integer.parseInt("0"));
1066f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Integer.parseInt("1"));
1067f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, Integer.parseInt("-1"));
1068f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1069f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1070f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("0x1");
1071f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with hex string.");
1072f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1073f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1074f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1075f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("9.2");
1076f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with floating point string.");
1077f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1078f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1079f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1080f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("");
1081f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with empty string.");
1082f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1083f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1084f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1085f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt(null);
1086f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with null string.");
1087f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1088f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1089f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1090f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1091f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#parseInt(String,int)
1092f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1093f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1094f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1095f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1096f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "parseInt",
1097f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, int.class}
1098f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1099f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_parseIntLjava_lang_StringI() {
1100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Integer.parseInt("0", 10));
1101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Integer.parseInt("1", 10));
1102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, Integer.parseInt("-1", 10));
1103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        //must be consistent with Character.digit()
1105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Character.digit('1', 2), Integer.parseInt("1", 2));
1106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Character.digit('F', 16), Integer.parseInt("F", 16));
1107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("0x1", 10);
1110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with hex string.");
1111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("9.2", 10);
1115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with floating point string.");
1116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt("", 10);
1120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with empty string.");
1121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.parseInt(null, 10);
1125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with null string.");
1126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#decode(String)
1131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "decode",
1136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
1137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_decodeLjava_lang_String() {
1139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(0), Integer.decode("0"));
1140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(1), Integer.decode("1"));
1141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(-1), Integer.decode("-1"));
1142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(0xF), Integer.decode("0xF"));
1143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(0xF), Integer.decode("#F"));
1144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(0xF), Integer.decode("0XF"));
1145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Integer(07), Integer.decode("07"));
1146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.decode("9.2");
1149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with floating point string.");
1150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.decode("");
1154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with empty string.");
1155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
1156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Integer.decode(null);
1159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //undocumented NPE, but seems consistent across JREs
1160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NullPointerException with null string.");
1161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NullPointerException e) {}
1162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#doubleValue()
1166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
1169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't check boundaries.",
1170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "doubleValue",
1171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
1172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_doubleValue() {
1174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1D, new Integer(-1).doubleValue(), 0D);
1175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0D, new Integer(0).doubleValue(), 0D);
1176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1D, new Integer(1).doubleValue(), 0D);
1177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#floatValue()
1181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
1184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "floatValue",
1186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
1187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_floatValue() {
1189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1F, new Integer(-1).floatValue(), 0F);
1190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0F, new Integer(0).floatValue(), 0F);
1191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1F, new Integer(1).floatValue(), 0F);
1192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#intValue()
1196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "intValue",
1201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
1202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_intValue() {
1204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, new Integer(-1).intValue());
1205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, new Integer(0).intValue());
1206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, new Integer(1).intValue());
1207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Integer.MAX_VALUE, new Integer(Integer.MAX_VALUE).intValue());
1208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Integer.MIN_VALUE, new Integer(Integer.MIN_VALUE).intValue());
1209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#longValue()
1213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "longValue",
1218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
1219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_longValue() {
1221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1L, new Integer(-1).longValue());
1222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0L, new Integer(0).longValue());
1223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1L, new Integer(1).longValue());
1224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Integer.MAX_VALUE, new Integer(Integer.MAX_VALUE).longValue());
1225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Integer.MIN_VALUE, new Integer(Integer.MIN_VALUE).longValue());
1226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#shortValue()
1230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "shortValue",
1235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
1236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_shortValue() {
1238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, new Integer(-1).shortValue());
1239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, new Integer(0).shortValue());
1240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, new Integer(1).shortValue());
1241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, new Integer(Integer.MAX_VALUE).shortValue());
1242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, new Integer(Integer.MIN_VALUE).shortValue());
1243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#highestOneBit(int)
1246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "highestOneBit",
1251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
1252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_highestOneBitI() {
1254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x08, Integer.highestOneBit(0x0A));
1255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x08, Integer.highestOneBit(0x0B));
1256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x08, Integer.highestOneBit(0x0C));
1257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x08, Integer.highestOneBit(0x0F));
1258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x80, Integer.highestOneBit(0xFF));
1259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x080000, Integer.highestOneBit(0x0F1234));
1261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x800000, Integer.highestOneBit(0xFF9977));
1262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x80000000, Integer.highestOneBit(0xFFFFFFFF));
1264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Integer.highestOneBit(0));
1266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Integer.highestOneBit(1));
1267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x80000000, Integer.highestOneBit(-1));
1268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#lowestOneBit(int)
1272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "lowestOneBit",
1277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
1278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_lowestOneBitI() {
1280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x10, Integer.lowestOneBit(0xF0));
1281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x10, Integer.lowestOneBit(0x90));
1283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x10, Integer.lowestOneBit(0xD0));
1284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x10, Integer.lowestOneBit(0x123490));
1286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x10, Integer.lowestOneBit(0x1234D0));
1287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x100000, Integer.lowestOneBit(0x900000));
1289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x100000, Integer.lowestOneBit(0xD00000));
1290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x40, Integer.lowestOneBit(0x40));
1292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x40, Integer.lowestOneBit(0xC0));
1293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x4000, Integer.lowestOneBit(0x4000));
1295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x4000, Integer.lowestOneBit(0xC000));
1296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x4000, Integer.lowestOneBit(0x99994000));
1298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x4000, Integer.lowestOneBit(0x9999C000));
1299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Integer.lowestOneBit(0));
1301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Integer.lowestOneBit(1));
1302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Integer.lowestOneBit(-1));
1303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#numberOfLeadingZeros(int)
1306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "numberOfLeadingZeros",
1311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
1312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_numberOfLeadingZerosI() {
1314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(32, Integer.numberOfLeadingZeros(0x0));
1315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(31, Integer.numberOfLeadingZeros(0x1));
1316f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(30, Integer.numberOfLeadingZeros(0x2));
1317f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(30, Integer.numberOfLeadingZeros(0x3));
1318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(29, Integer.numberOfLeadingZeros(0x4));
1319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(29, Integer.numberOfLeadingZeros(0x5));
1320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(29, Integer.numberOfLeadingZeros(0x6));
1321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(29, Integer.numberOfLeadingZeros(0x7));
1322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(28, Integer.numberOfLeadingZeros(0x8));
1323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(28, Integer.numberOfLeadingZeros(0x9));
1324f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(28, Integer.numberOfLeadingZeros(0xA));
1325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(28, Integer.numberOfLeadingZeros(0xB));
1326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(28, Integer.numberOfLeadingZeros(0xC));
1327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(28, Integer.numberOfLeadingZeros(0xD));
1328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(28, Integer.numberOfLeadingZeros(0xE));
1329f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(28, Integer.numberOfLeadingZeros(0xF));
1330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(27, Integer.numberOfLeadingZeros(0x10));
1331f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(24, Integer.numberOfLeadingZeros(0x80));
1332f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(24, Integer.numberOfLeadingZeros(0xF0));
1333f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(23, Integer.numberOfLeadingZeros(0x100));
1334f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(20, Integer.numberOfLeadingZeros(0x800));
1335f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(20, Integer.numberOfLeadingZeros(0xF00));
1336f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(19, Integer.numberOfLeadingZeros(0x1000));
1337f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(16, Integer.numberOfLeadingZeros(0x8000));
1338f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(16, Integer.numberOfLeadingZeros(0xF000));
1339f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(15, Integer.numberOfLeadingZeros(0x10000));
1340f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(12, Integer.numberOfLeadingZeros(0x80000));
1341f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(12, Integer.numberOfLeadingZeros(0xF0000));
1342f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(11, Integer.numberOfLeadingZeros(0x100000));
1343f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(8, Integer.numberOfLeadingZeros(0x800000));
1344f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(8, Integer.numberOfLeadingZeros(0xF00000));
1345f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(7, Integer.numberOfLeadingZeros(0x1000000));
1346f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(4, Integer.numberOfLeadingZeros(0x8000000));
1347f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(4, Integer.numberOfLeadingZeros(0xF000000));
1348f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(3, Integer.numberOfLeadingZeros(0x10000000));
1349f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Integer.numberOfLeadingZeros(0x80000000));
1350f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Integer.numberOfLeadingZeros(0xF0000000));
1351f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1352f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Integer.numberOfLeadingZeros(Integer.MAX_VALUE));
1353f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Integer.numberOfLeadingZeros(Integer.MIN_VALUE));
1354f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1355f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1356f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1357f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests
1358f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * java.lang.Integer#numberOfTrailingZeros(int)
1359f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1360f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1361f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1362f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1363f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "numberOfTrailingZeros",
1364f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
1365f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1366f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_numberOfTrailingZerosI() {
1367f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(32, Integer.numberOfTrailingZeros(0x0));
1368f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(31, Integer.numberOfTrailingZeros(Integer.MIN_VALUE));
1369f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Integer.numberOfTrailingZeros(Integer.MAX_VALUE));
1370f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1371f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Integer.numberOfTrailingZeros(0x1));
1372f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(3, Integer.numberOfTrailingZeros(0x8));
1373f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Integer.numberOfTrailingZeros(0xF));
1374f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1375f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(4, Integer.numberOfTrailingZeros(0x10));
1376f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(7, Integer.numberOfTrailingZeros(0x80));
1377f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(4, Integer.numberOfTrailingZeros(0xF0));
1378f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1379f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(8, Integer.numberOfTrailingZeros(0x100));
1380f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(11, Integer.numberOfTrailingZeros(0x800));
1381f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(8, Integer.numberOfTrailingZeros(0xF00));
1382f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1383f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(12, Integer.numberOfTrailingZeros(0x1000));
1384f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(15, Integer.numberOfTrailingZeros(0x8000));
1385f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(12, Integer.numberOfTrailingZeros(0xF000));
1386f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1387f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(16, Integer.numberOfTrailingZeros(0x10000));
1388f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(19, Integer.numberOfTrailingZeros(0x80000));
1389f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(16, Integer.numberOfTrailingZeros(0xF0000));
1390f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1391f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(20, Integer.numberOfTrailingZeros(0x100000));
1392f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(23, Integer.numberOfTrailingZeros(0x800000));
1393f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(20, Integer.numberOfTrailingZeros(0xF00000));
1394f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1395f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(24, Integer.numberOfTrailingZeros(0x1000000));
1396f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(27, Integer.numberOfTrailingZeros(0x8000000));
1397f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(24, Integer.numberOfTrailingZeros(0xF000000));
1398f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1399f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(28, Integer.numberOfTrailingZeros(0x10000000));
1400f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(31, Integer.numberOfTrailingZeros(0x80000000));
1401f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(28, Integer.numberOfTrailingZeros(0xF0000000));
1402f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1403f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1404f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1405f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#bitCount(int)
1406f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1407f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1408f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1409f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1410f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "bitCount",
1411f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
1412f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1413f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_bitCountI() {
1414f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Integer.bitCount(0x0));
1415f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Integer.bitCount(0x1));
1416f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Integer.bitCount(0x2));
1417f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, Integer.bitCount(0x3));
1418f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Integer.bitCount(0x4));
1419f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, Integer.bitCount(0x5));
1420f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, Integer.bitCount(0x6));
1421f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(3, Integer.bitCount(0x7));
1422f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Integer.bitCount(0x8));
1423f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, Integer.bitCount(0x9));
1424f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, Integer.bitCount(0xA));
1425f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(3, Integer.bitCount(0xB));
1426f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, Integer.bitCount(0xC));
1427f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(3, Integer.bitCount(0xD));
1428f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(3, Integer.bitCount(0xE));
1429f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(4, Integer.bitCount(0xF));
1430f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1431f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(8, Integer.bitCount(0xFF));
1432f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(12, Integer.bitCount(0xFFF));
1433f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(16, Integer.bitCount(0xFFFF));
1434f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(20, Integer.bitCount(0xFFFFF));
1435f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(24, Integer.bitCount(0xFFFFFF));
1436f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(28, Integer.bitCount(0xFFFFFFF));
1437f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(32, Integer.bitCount(0xFFFFFFFF));
1438f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1439f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1440f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1441f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#rotateLeft(int,int)
1442f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1443f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1444f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1445f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1446f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "rotateLeft",
1447f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class, int.class}
1448f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1449f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_rotateLeftII() {
1450f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Integer.rotateLeft(0xF, 0));
1451f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF0, Integer.rotateLeft(0xF, 4));
1452f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF00, Integer.rotateLeft(0xF, 8));
1453f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF000, Integer.rotateLeft(0xF, 12));
1454f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF0000, Integer.rotateLeft(0xF, 16));
1455f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF00000, Integer.rotateLeft(0xF, 20));
1456f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF000000, Integer.rotateLeft(0xF, 24));
1457f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF0000000, Integer.rotateLeft(0xF, 28));
1458f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF0000000, Integer.rotateLeft(0xF0000000, 32));
1459f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1460f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1461f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1462f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#rotateRight(int,int)
1463f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1464f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1465f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1466f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1467f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "rotateRight",
1468f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class, int.class}
1469f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1470f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_rotateRightII() {
1471f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Integer.rotateRight(0xF0, 4));
1472f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Integer.rotateRight(0xF00, 8));
1473f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Integer.rotateRight(0xF000, 12));
1474f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Integer.rotateRight(0xF0000, 16));
1475f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Integer.rotateRight(0xF00000, 20));
1476f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Integer.rotateRight(0xF000000, 24));
1477f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Integer.rotateRight(0xF0000000, 28));
1478f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF0000000, Integer.rotateRight(0xF0000000, 32));
1479f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF0000000, Integer.rotateRight(0xF0000000, 0));
1480f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1481f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1482f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1483f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1484f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#reverseBytes(int)
1485f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1486f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1487f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1488f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1489f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "reverseBytes",
1490f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
1491f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1492f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_reverseBytesI() {
1493f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xAABBCCDD, Integer.reverseBytes(0xDDCCBBAA));
1494f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x11223344, Integer.reverseBytes(0x44332211));
1495f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x00112233, Integer.reverseBytes(0x33221100));
1496f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x20000002, Integer.reverseBytes(0x02000020));
1497f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1498f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1499f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1500f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#reverse(int)
1501f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1502f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1503f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1504f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1505f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "reverse",
1506f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
1507f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1508f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_reverseI() {
1509f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, Integer.reverse(-1));
1510f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x80000000,Integer.reverse(1));
1511f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1512f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1513f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1514f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Integer#signum(int)
1515f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1516f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1517f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1518f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1519f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "signum",
1520f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
1521f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1522f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_signumI() {
1523f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        for (int i = -128; i<0; i++) {
1524f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(-1, Integer.signum(i));
1525f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1526f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Integer.signum(0));
1527f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        for (int i = 1; i<=127; i++) {
1528f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(1, Integer.signum(i));
1529f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1530f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1531f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
1532