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(Long.class)
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class LongTest 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.Long#byteValue()
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Checks bounary values.",
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.Long.byteValue()
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Long l = new Long(127);
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect byte value", 127, l.byteValue());
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect byte value", -1, new Long(Long.MAX_VALUE)
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.Long#compareTo(java.lang.Long)
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.Long.class}
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_compareToLjava_lang_Long() {
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method int java.lang.Long.compareTo(java.lang.Long)
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("-2 compared to 1 gave non-negative answer", new Long(-2L)
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .compareTo(new Long(1L)) < 0);
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("-2 compared to -2 gave non-zero answer", 0, new Long(-2L)
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .compareTo(new Long(-2L)));
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("3 compared to 2 gave non-positive answer", new Long(3L)
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .compareTo(new Long(2L)) > 0);
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            new Long(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.Long#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.Long
95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // java.lang.Long.decode(java.lang.String)
96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value for hex string", 255L, Long.decode(
97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "0xFF").longValue());
98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value for dec string", -89000L, Long.decode(
99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "-89000").longValue());
100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value for 0 decimal", 0, Long.decode("0")
101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .longValue());
102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value for 0 hex", 0, Long.decode("0x0")
103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .longValue());
104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue(
105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "Returned incorrect value for most negative value decimal",
106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Long.decode("-9223372036854775808").longValue() == 0x8000000000000000L);
107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue(
108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "Returned incorrect value for most negative value hex",
109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Long.decode("-0x8000000000000000").longValue() == 0x8000000000000000L);
110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue(
111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "Returned incorrect value for most positive value decimal",
112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Long.decode("9223372036854775807").longValue() == 0x7fffffffffffffffL);
113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue(
114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "Returned incorrect value for most positive value hex",
115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Long.decode("0x7fffffffffffffff").longValue() == 0x7fffffffffffffffL);
116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed for 07654321765432", Long.decode("07654321765432")
117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .longValue() == 07654321765432l);
118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        boolean exception = false;
120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long
122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    .decode("999999999999999999999999999999999999999999999999999999");
123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for value > ilong", exception);
128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.decode("9223372036854775808");
132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.decode("-9223372036854775809");
141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.decode("0x8000000000000000");
150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for hex MAX_VALUE + 1", exception);
155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.decode("-0x8000000000000001");
159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for hex MIN_VALUE - 1", exception);
164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.decode("42325917317067571199");
168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for 42325917317067571199",
173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                exception);
174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     /**
177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#getLong(java.lang.String)
178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getLong",
183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_getLongLjava_lang_String() {
186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.Long
187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // java.lang.Long.getLong(java.lang.String)
188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Properties tProps = new Properties();
189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        tProps.put("testLong", "99");
190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        tProps.put("testIncLong", "string");
191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.setProperties(tProps);
192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("returned incorrect Long", Long.getLong("testLong").equals(
193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                new Long(99)));
194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertNull("returned incorrect default Long",
195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Long.getLong("ff"));
196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertNull("returned incorrect default Long",
197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Long.getLong("testIncLong"));
198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#getLong(java.lang.String, long)
202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getLong",
207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, long.class}
208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_getLongLjava_lang_StringJ() {
210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.Long
211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // java.lang.Long.getLong(java.lang.String, long)
212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Properties tProps = new Properties();
213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        tProps.put("testLong", "99");
214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        tProps.put("testIncLong", "string");
215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.setProperties(tProps);
216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("returned incorrect Long", Long.getLong("testLong", 4L)
217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .equals(new Long(99)));
218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("returned incorrect default Long", Long.getLong("ff", 4L)
219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .equals(new Long(4)));
220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("returned incorrect default Long", Long.getLong("testIncLong", 4L)
221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .equals(new Long(4)));
222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#getLong(java.lang.String, java.lang.Long)
226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getLong",
231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.Long.class}
232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_getLongLjava_lang_StringLjava_lang_Long() {
234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.Long
235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // java.lang.Long.getLong(java.lang.String, java.lang.Long)
236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Properties tProps = new Properties();
237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        tProps.put("testLong", "99");
238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        tProps.put("testIncLong", "string");
239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.setProperties(tProps);
240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("returned incorrect Long", Long.getLong("testLong",
241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                new Long(4)).equals(new Long(99)));
242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("returned incorrect default Long", Long.getLong("ff",
243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                new Long(4)).equals(new Long(4)));
244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("returned incorrect default Long", Long.getLong("testIncLong",
245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                new Long(4)).equals(new Long(4)));
246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#parseLong(java.lang.String)
250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Checks boundary values and exceptions.",
254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "parseLong",
255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_parseLongLjava_lang_String2() {
258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method long java.lang.Long.parseLong(java.lang.String)
259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long l = Long.parseLong("89000000005");
261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Parsed to incorrect long value", 89000000005L, l);
262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value for 0", 0, Long.parseLong("0"));
263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value for most negative value", Long
264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .parseLong("-9223372036854775808") == 0x8000000000000000L);
265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value for most positive value", Long
266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .parseLong("9223372036854775807") == 0x7fffffffffffffffL);
267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        boolean exception = false;
269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong("9223372036854775808");
271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong("-9223372036854775809");
280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#parseLong(java.lang.String, int)
289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "parseLong",
294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, int.class}
295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_parseLongLjava_lang_StringI() {
297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method long java.lang.Long.parseLong(java.lang.String, int)
298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value",
299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                100000000L, Long.parseLong("100000000", 10));
300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value from hex string", 68719476735L, Long.parseLong(
301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "FFFFFFFFF", 16));
302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value from octal string: "
303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                + Long.parseLong("77777777777"), Long.parseLong("77777777777",
304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                8) == 8589934591L);
305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value for 0 hex", 0, Long
306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .parseLong("0", 16));
307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value for most negative value hex", Long
308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .parseLong("-8000000000000000", 16) == 0x8000000000000000L);
309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value for most positive value hex", Long
310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .parseLong("7fffffffffffffff", 16) == 0x7fffffffffffffffL);
311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value for 0 decimal", 0, Long.parseLong(
312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "0", 10));
313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue(
314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "Returned incorrect value for most negative value decimal",
315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Long.parseLong("-9223372036854775808", 10) == 0x8000000000000000L);
316f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue(
317f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "Returned incorrect value for most positive value decimal",
318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Long.parseLong("9223372036854775807", 10) == 0x7fffffffffffffffL);
319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        boolean exception = false;
321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong("999999999999", 8);
323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
324f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // correct
325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception when passed invalid string",
328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                exception);
329f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
331f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
332f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong("9223372036854775808", 10);
333f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
334f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
335f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
336f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
337f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
338f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
339f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
340f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
341f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong("-9223372036854775809", 10);
342f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
343f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
344f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
345f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
346f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
347f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
348f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
349f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
350f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong("8000000000000000", 16);
351f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
352f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
353f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
354f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
355f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for hex MAX_VALUE + 1", exception);
356f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
357f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
358f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
359f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong("-8000000000000001", 16);
360f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
361f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
362f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
363f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
364f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for hex MIN_VALUE + 1", exception);
365f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
366f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
367f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
368f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong("42325917317067571199", 10);
369f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
370f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // Correct
371f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
372f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
373f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception for 42325917317067571199",
374f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                exception);
375f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
376f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
377f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
378f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#toBinaryString(long)
379f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
380f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
381f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
382f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
383f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toBinaryString",
384f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
385f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
386f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toBinaryStringJ() {
387f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.String java.lang.Long.toBinaryString(long)
388f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect binary string returned", "11011001010010010000", Long.toBinaryString(
389f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                890000L));
390f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect binary string returned",
391f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
392f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                                "1000000000000000000000000000000000000000000000000000000000000000", Long
393f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                        .toBinaryString(Long.MIN_VALUE)
394f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                        );
395f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect binary string returned",
396f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
397f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                                "111111111111111111111111111111111111111111111111111111111111111", Long
398f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                        .toBinaryString(Long.MAX_VALUE)
399f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                        );
400f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
401f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
402f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
403f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#toHexString(long)
404f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
405f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
406f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
407f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
408f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toHexString",
409f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
410f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
411f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toHexStringJ() {
412f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.String java.lang.Long.toHexString(long)
413f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect hex string returned", "54e0845", Long.toHexString(89000005L)
414f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                );
415f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect hex string returned", "8000000000000000", Long.toHexString(
416f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Long.MIN_VALUE));
417f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Incorrect hex string returned", "7fffffffffffffff", Long.toHexString(
418f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Long.MAX_VALUE));
419f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
420f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
421f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
422f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#toOctalString(long)
423f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
424f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
425f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
426f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
427f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toOctalString",
428f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
429f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
430f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toOctalStringJ() {
431f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.String java.lang.Long.toOctalString(long)
432f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect oct string", "77777777777", Long.toOctalString(
433f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                8589934591L));
434f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect oct string", "1000000000000000000000", Long.toOctalString(
435f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Long.MIN_VALUE));
436f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect oct string", "777777777777777777777", Long.toOctalString(
437f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Long.MAX_VALUE));
438f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
439f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
440f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
441f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#toString()
442f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
443f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
444f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
445f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
446f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toString",
447f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
448f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
449f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toString2() {
450f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.String java.lang.Long.toString()
451f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Long l = new Long(89000000005L);
452f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect String",
453f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "89000000005", l.toString());
454f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect String", "-9223372036854775808", new Long(Long.MIN_VALUE)
455f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .toString());
456f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect String", "9223372036854775807", new Long(Long.MAX_VALUE)
457f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .toString());
458f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
459f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
460f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
461f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#toString(long)
462f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
463f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
464f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
465f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
466f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toString",
467f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
468f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
469f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toStringJ2() {
470f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.String java.lang.Long.toString(long)
471f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
472f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect String", "89000000005", Long.toString(89000000005L)
473f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                );
474f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect String", "-9223372036854775808", Long.toString(Long.MIN_VALUE)
475f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                );
476f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect String", "9223372036854775807", Long.toString(Long.MAX_VALUE)
477f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                );
478f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
479f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
480f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
481f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#toString(long, int)
482f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
483f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
484f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
485f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
486f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toString",
487f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class, int.class}
488f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
489f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toStringJI() {
490f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.String java.lang.Long.toString(long, int)
491f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect dec string", "100000000", Long.toString(100000000L,
492f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                10));
493f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect hex string", "fffffffff", Long.toString(68719476735L,
494f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                16));
495f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect oct string", "77777777777", Long.toString(8589934591L,
496f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                8));
497f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect bin string",
498f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "1111111111111111111111111111111111111111111", Long.toString(
499f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                8796093022207L, 2));
500f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect min string", "-9223372036854775808", Long.toString(
501f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                0x8000000000000000L, 10));
502f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect max string", "9223372036854775807", Long.toString(
503f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                0x7fffffffffffffffL, 10));
504f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect min string", "-8000000000000000", Long.toString(
505f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                0x8000000000000000L, 16));
506f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect max string", "7fffffffffffffff", Long.toString(
507f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                0x7fffffffffffffffL, 16));
508f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
509f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
510f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
511f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#valueOf(java.lang.String)
512f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
513f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
514f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
515f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
516f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "valueOf",
517f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
518f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
519f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_valueOfLjava_lang_String2() {
520f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.Long
521f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // java.lang.Long.valueOf(java.lang.String)
522f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value", 100000000L, Long.valueOf("100000000")
523f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .longValue());
524f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value", Long.valueOf(
525f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "9223372036854775807").longValue() == Long.MAX_VALUE);
526f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value", Long.valueOf(
527f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "-9223372036854775808").longValue() == Long.MIN_VALUE);
528f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
529f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        boolean exception = false;
530f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
531f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long
532f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    .valueOf("999999999999999999999999999999999999999999999999999999999999");
533f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
534f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // correct
535f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
536f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
537f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception when passed invalid string",
538f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                exception);
539f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
540f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
541f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
542f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.valueOf("9223372036854775808");
543f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
544f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // correct
545f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
546f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
547f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception when passed invalid string",
548f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                exception);
549f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
550f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
551f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
552f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.valueOf("-9223372036854775809");
553f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
554f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // correct
555f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
556f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
557f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception when passed invalid string",
558f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                exception);
559f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
560f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
561f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
562f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#valueOf(java.lang.String, 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 = "valueOf",
568f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, int.class}
569f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
570f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_valueOfLjava_lang_StringI() {
571f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Test for method java.lang.Long
572f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // java.lang.Long.valueOf(java.lang.String, int)
573f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value", 100000000L, Long.valueOf("100000000", 10)
574f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                .longValue());
575f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("Returned incorrect value from hex string", 68719476735L, Long.valueOf(
576f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "FFFFFFFFF", 16).longValue());
577f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value from octal string: "
578f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                + Long.valueOf("77777777777", 8).toString(), Long.valueOf(
579f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "77777777777", 8).longValue() == 8589934591L);
580f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value", Long.valueOf(
581f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "9223372036854775807", 10).longValue() == Long.MAX_VALUE);
582f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value", Long.valueOf(
583f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "-9223372036854775808", 10).longValue() == Long.MIN_VALUE);
584f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value", Long.valueOf("7fffffffffffffff",
585f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                16).longValue() == Long.MAX_VALUE);
586f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Returned incorrect value", Long.valueOf(
587f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "-8000000000000000", 16).longValue() == Long.MIN_VALUE);
588f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
589f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        boolean exception = false;
590f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
591f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.valueOf("999999999999", 8);
592f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
593f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // correct
594f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
595f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
596f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception when passed invalid string",
597f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                exception);
598f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
599f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
600f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
601f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.valueOf("9223372036854775808", 10);
602f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
603f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // correct
604f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
605f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
606f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception when passed invalid string",
607f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                exception);
608f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
609f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        exception = false;
610f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
611f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.valueOf("-9223372036854775809", 10);
612f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {
613f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // correct
614f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            exception = true;
615f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
616f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertTrue("Failed to throw exception when passed invalid string",
617f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                exception);
618f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
619f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
620f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#valueOf(long)
621f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
622f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
623f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
624f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
625f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "valueOf",
626f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
627f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
628f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_valueOfJ() {
629f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(Long.MIN_VALUE), Long.valueOf(Long.MIN_VALUE));
630f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(Long.MAX_VALUE), Long.valueOf(Long.MAX_VALUE));
631f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long( 0), Long.valueOf( 0));
632f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
633f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long lng = -128;
634f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        while (lng < 128) {
635f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(new Long(lng), Long.valueOf(lng));
636f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertSame(Long.valueOf(lng), Long.valueOf(lng));
637f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            lng++;
638f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
639f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
640f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
641f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
642f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#hashCode()
643f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
644f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
645f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
646f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
647f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "hashCode",
648f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
649f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
650f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_hashCode() {
651f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals((int)(1L ^ (1L >>> 32)), new Long(1).hashCode());
652f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals((int)(2L ^ (2L >>> 32)), new Long(2).hashCode());
653f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals((int)(0L ^ (0L >>> 32)), new Long(0).hashCode());
654f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals((int)(-1L ^ (-1L >>> 32)), new Long(-1).hashCode());
655f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
656f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
657f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
658f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#Long(String)
659f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
660f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
661f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
662f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
663f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "Long",
664f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
665f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
666f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_ConstructorLjava_lang_String() {
667f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(0), new Long("0"));
668f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(1), new Long("1"));
669f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(-1), new Long("-1"));
670f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
671f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
672f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            new Long("0x1");
673f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with hex string.");
674f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
675f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
676f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
677f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            new Long("9.2");
678f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with floating point string.");
679f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
680f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
681f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
682f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            new Long("");
683f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with empty string.");
684f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
685f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
686f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
687f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            new Long(null);
688f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with null string.");
689f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
690f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
691f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
692f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
693f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#Long
694f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
695f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
696f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
697f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
698f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "Long",
699f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
700f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
701f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_ConstructorJ() {
702f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, new Long(1).intValue());
703f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, new Long(2).intValue());
704f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, new Long(0).intValue());
705f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, new Long(-1).intValue());
706f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
707f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
708f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
709f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#byteValue()
710f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
711f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
712f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
713f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't check boundary values.",
714f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "byteValue",
715f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
716f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
717f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_byteValue2() {
718f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, new Long(1).byteValue());
719f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, new Long(2).byteValue());
720f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, new Long(0).byteValue());
721f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, new Long(-1).byteValue());
722f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
723f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
724f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
725f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#equals(Object)
726f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
727f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
728f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
729f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
730f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "equals",
731f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.Object.class}
732f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
733f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_equalsLjava_lang_Object() {
734f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(0), Long.valueOf(0));
735f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(1), Long.valueOf(1));
736f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(-1), Long.valueOf(-1));
737f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
738f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Long fixture = new Long(25);
739f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(fixture, fixture);
740f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertFalse(fixture.equals(null));
741f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertFalse(fixture.equals("Not a Long"));
742f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
743f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
744f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
745f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#toString()
746f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
747f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
748f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
749f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
750f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toString",
751f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
752f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
753f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toString() {
754f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("-1", new Long(-1).toString());
755f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("0", new Long(0).toString());
756f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("1", new Long(1).toString());
757f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("-1", new Long(0xFFFFFFFF).toString());
758f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
759f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
760f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
761f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#toString
762f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
763f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
764f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
765f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
766f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "toString",
767f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
768f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
769f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_toStringJ() {
770f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("-1", Long.toString(-1));
771f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("0", Long.toString(0));
772f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("1", Long.toString(1));
773f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("-1", Long.toString(0xFFFFFFFF));
774f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
775f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
776f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
777f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#valueOf(String)
778f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
779f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
780f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
781f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
782f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "valueOf",
783f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
784f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
785f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_valueOfLjava_lang_String() {
786f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(0), Long.valueOf("0"));
787f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(1), Long.valueOf("1"));
788f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(-1), Long.valueOf("-1"));
789f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
790f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
791f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.valueOf("0x1");
792f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with hex string.");
793f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
794f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
795f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
796f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.valueOf("9.2");
797f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with floating point string.");
798f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
799f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
800f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
801f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.valueOf("");
802f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with empty string.");
803f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
804f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
805f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
806f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.valueOf(null);
807f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with null string.");
808f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
809f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
810f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
811f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
812f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#valueOf(String,long)
813f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
814f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
815f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
816f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
817f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "valueOf",
818f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, int.class}
819f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
820f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_valueOfLjava_lang_StringJ() {
821f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(0), Long.valueOf("0", 10));
822f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(1), Long.valueOf("1", 10));
823f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(-1), Long.valueOf("-1", 10));
824f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
825f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        //must be consistent with Character.digit()
826f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Character.digit('1', 2), Long.valueOf("1", 2).byteValue());
827f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Character.digit('F', 16), Long.valueOf("F", 16).byteValue());
828f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
829f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
830f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.valueOf("0x1", 10);
831f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with hex string.");
832f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
833f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
834f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
835f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.valueOf("9.2", 10);
836f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with floating point string.");
837f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
838f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
839f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
840f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.valueOf("", 10);
841f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with empty string.");
842f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
843f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
844f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
845f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.valueOf(null, 10);
846f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with null string.");
847f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
848f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
849f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
850f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
851f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#parseLong(String)
852f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
853f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
854f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
855f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't check boundary values.",
856f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "parseLong",
857f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
858f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
859f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_parseLongLjava_lang_String() {
860f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Long.parseLong("0"));
861f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Long.parseLong("1"));
862f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, Long.parseLong("-1"));
863f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
864f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
865f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong("0x1");
866f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with hex string.");
867f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
868f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
869f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
870f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong("9.2");
871f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with floating point string.");
872f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
873f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
874f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
875f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong("");
876f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with empty string.");
877f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
878f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
879f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
880f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong(null);
881f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with null string.");
882f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
883f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
884f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
885f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
886f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#parseLong(String,long)
887f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
888f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
889f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL,
890f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't check boundary values.",
891f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "parseLong",
892f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, int.class}
893f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
894f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_parseLongLjava_lang_StringJ() {
895f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Long.parseLong("0", 10));
896f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Long.parseLong("1", 10));
897f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, Long.parseLong("-1", 10));
898f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
899f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        //must be consistent with Character.digit()
900f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Character.digit('1', 2), Long.parseLong("1", 2));
901f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Character.digit('F', 16), Long.parseLong("F", 16));
902f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
903f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
904f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong("0x1", 10);
905f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with hex string.");
906f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
907f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
908f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
909f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong("9.2", 10);
910f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with floating point string.");
911f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
912f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
913f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
914f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong("", 10);
915f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with empty string.");
916f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
917f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
918f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
919f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.parseLong(null, 10);
920f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with null string.");
921f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
922f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
923f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
924f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
925f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#decode(String)
926f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
927f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
928f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
929f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
930f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "decode",
931f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
932f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
933f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_decodeLjava_lang_String() {
934f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(0), Long.decode("0"));
935f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(1), Long.decode("1"));
936f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(-1), Long.decode("-1"));
937f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(0xF), Long.decode("0xF"));
938f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(0xF), Long.decode("#F"));
939f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(0xF), Long.decode("0XF"));
940f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(new Long(07), Long.decode("07"));
941f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
942f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
943f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.decode("9.2");
944f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with floating point string.");
945f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
946f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
947f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
948f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.decode("");
949f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NumberFormatException with empty string.");
950f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NumberFormatException e) {}
951f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
952f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
953f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Long.decode(null);
954f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //undocumented NPE, but seems consistent across JREs
955f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Expected NullPointerException with null string.");
956f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (NullPointerException e) {}
957f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
958f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
959f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
960f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#doubleValue()
961f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
962f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
963f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
964f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
965f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "doubleValue",
966f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
967f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
968f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_doubleValue() {
969f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1D, new Long(-1).doubleValue(), 0D);
970f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0D, new Long(0).doubleValue(), 0D);
971f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1D, new Long(1).doubleValue(), 0D);
972f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
973f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
974f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
975f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#floatValue()
976f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
977f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
978f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
979f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
980f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "floatValue",
981f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
982f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
983f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_floatValue() {
984f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1F, new Long(-1).floatValue(), 0F);
985f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0F, new Long(0).floatValue(), 0F);
986f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1F, new Long(1).floatValue(), 0F);
987f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
988f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Long.MAX_VALUE, new Long(Long.MAX_VALUE).floatValue(), 0F);
989f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Long.MIN_VALUE, new Long(Long.MIN_VALUE).floatValue(), 0F);
990f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
991f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
992f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
993f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#intValue()
994f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
995f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
996f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
997f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
998f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "intValue",
999f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
1000f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1001f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_intValue() {
1002f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, new Long(-1).intValue());
1003f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, new Long(0).intValue());
1004f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, new Long(1).intValue());
1005f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1006f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, new Long(Long.MAX_VALUE).intValue());
1007f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, new Long(Long.MIN_VALUE).intValue());
1008f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1009f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1010f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1011f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#longValue()
1012f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1013f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1014f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1015f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1016f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "longValue",
1017f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
1018f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1019f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_longValue() {
1020f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1L, new Long(-1).longValue());
1021f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0L, new Long(0).longValue());
1022f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1L, new Long(1).longValue());
1023f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1024f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Long.MAX_VALUE, new Long(Long.MAX_VALUE).longValue());
1025f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(Long.MIN_VALUE, new Long(Long.MIN_VALUE).longValue());
1026f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1027f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1028f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1029f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#shortValue()
1030f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1031f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1032f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1033f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1034f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "shortValue",
1035f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
1036f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1037f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_shortValue() {
1038f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, new Long(-1).shortValue());
1039f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, new Long(0).shortValue());
1040f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, new Long(1).shortValue());
1041f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1042f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, new Long(Long.MAX_VALUE).shortValue());
1043f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, new Long(Long.MIN_VALUE).shortValue());
1044f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1045f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1046f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#highestOneBit(long)
1047f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1048f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1049f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1050f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1051f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "highestOneBit",
1052f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
1053f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1054f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_highestOneBitJ() {
1055f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x08, Long.highestOneBit(0x0A));
1056f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x08, Long.highestOneBit(0x0B));
1057f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x08, Long.highestOneBit(0x0C));
1058f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x08, Long.highestOneBit(0x0F));
1059f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x80, Long.highestOneBit(0xFF));
1060f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1061f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x080000, Long.highestOneBit(0x0F1234));
1062f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x800000, Long.highestOneBit(0xFF9977));
1063f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1064f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x8000000000000000L, Long.highestOneBit(0xFFFFFFFFFFFFFFFFL));
1065f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1066f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Long.highestOneBit(0));
1067f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Long.highestOneBit(1));
1068f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x8000000000000000L, Long.highestOneBit(-1));
1069f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1070f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1071f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1072f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#lowestOneBit(long)
1073f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1074f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1075f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1076f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1077f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "lowestOneBit",
1078f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
1079f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1080f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_lowestOneBitJ() {
1081f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x10, Long.lowestOneBit(0xF0));
1082f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1083f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x10, Long.lowestOneBit(0x90));
1084f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x10, Long.lowestOneBit(0xD0));
1085f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1086f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x10, Long.lowestOneBit(0x123490));
1087f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x10, Long.lowestOneBit(0x1234D0));
1088f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1089f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x100000, Long.lowestOneBit(0x900000));
1090f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x100000, Long.lowestOneBit(0xD00000));
1091f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1092f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x40, Long.lowestOneBit(0x40));
1093f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x40, Long.lowestOneBit(0xC0));
1094f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1095f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x4000, Long.lowestOneBit(0x4000));
1096f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x4000, Long.lowestOneBit(0xC000));
1097f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1098f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x4000, Long.lowestOneBit(0x99994000));
1099f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x4000, Long.lowestOneBit(0x9999C000));
1100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Long.lowestOneBit(0));
1102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Long.lowestOneBit(1));
1103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Long.lowestOneBit(-1));
1104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#numberOfLeadingZeros(long)
1107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "numberOfLeadingZeros",
1112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
1113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_numberOfLeadingZerosJ() {
1115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(64, Long.numberOfLeadingZeros(0x0L));
1116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(63, Long.numberOfLeadingZeros(0x1));
1117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(62, Long.numberOfLeadingZeros(0x2));
1118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(62, Long.numberOfLeadingZeros(0x3));
1119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(61, Long.numberOfLeadingZeros(0x4));
1120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(61, Long.numberOfLeadingZeros(0x5));
1121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(61, Long.numberOfLeadingZeros(0x6));
1122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(61, Long.numberOfLeadingZeros(0x7));
1123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(60, Long.numberOfLeadingZeros(0x8));
1124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(60, Long.numberOfLeadingZeros(0x9));
1125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(60, Long.numberOfLeadingZeros(0xA));
1126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(60, Long.numberOfLeadingZeros(0xB));
1127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(60, Long.numberOfLeadingZeros(0xC));
1128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(60, Long.numberOfLeadingZeros(0xD));
1129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(60, Long.numberOfLeadingZeros(0xE));
1130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(60, Long.numberOfLeadingZeros(0xF));
1131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(59, Long.numberOfLeadingZeros(0x10));
1132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(56, Long.numberOfLeadingZeros(0x80));
1133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(56, Long.numberOfLeadingZeros(0xF0));
1134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(55, Long.numberOfLeadingZeros(0x100));
1135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(52, Long.numberOfLeadingZeros(0x800));
1136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(52, Long.numberOfLeadingZeros(0xF00));
1137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(51, Long.numberOfLeadingZeros(0x1000));
1138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(48, Long.numberOfLeadingZeros(0x8000));
1139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(48, Long.numberOfLeadingZeros(0xF000));
1140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(47, Long.numberOfLeadingZeros(0x10000));
1141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(44, Long.numberOfLeadingZeros(0x80000));
1142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(44, Long.numberOfLeadingZeros(0xF0000));
1143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(43, Long.numberOfLeadingZeros(0x100000));
1144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(40, Long.numberOfLeadingZeros(0x800000));
1145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(40, Long.numberOfLeadingZeros(0xF00000));
1146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(39, Long.numberOfLeadingZeros(0x1000000));
1147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(36, Long.numberOfLeadingZeros(0x8000000));
1148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(36, Long.numberOfLeadingZeros(0xF000000));
1149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(35, Long.numberOfLeadingZeros(0x10000000));
1150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Long.numberOfLeadingZeros(0x80000000));
1151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Long.numberOfLeadingZeros(0xF0000000));
1152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Long.numberOfLeadingZeros(Long.MAX_VALUE));
1154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Long.numberOfLeadingZeros(Long.MIN_VALUE));
1155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#numberOfTrailingZeros(long)
1159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "numberOfTrailingZeros",
1164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
1165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_numberOfTrailingZerosJ() {
1167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(64, Long.numberOfTrailingZeros(0x0));
1168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(63, Long.numberOfTrailingZeros(Long.MIN_VALUE));
1169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Long.numberOfTrailingZeros(Long.MAX_VALUE));
1170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Long.numberOfTrailingZeros(0x1));
1172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(3, Long.numberOfTrailingZeros(0x8));
1173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Long.numberOfTrailingZeros(0xF));
1174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(4, Long.numberOfTrailingZeros(0x10));
1176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(7, Long.numberOfTrailingZeros(0x80));
1177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(4, Long.numberOfTrailingZeros(0xF0));
1178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(8, Long.numberOfTrailingZeros(0x100));
1180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(11, Long.numberOfTrailingZeros(0x800));
1181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(8, Long.numberOfTrailingZeros(0xF00));
1182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(12, Long.numberOfTrailingZeros(0x1000));
1184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(15, Long.numberOfTrailingZeros(0x8000));
1185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(12, Long.numberOfTrailingZeros(0xF000));
1186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(16, Long.numberOfTrailingZeros(0x10000));
1188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(19, Long.numberOfTrailingZeros(0x80000));
1189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(16, Long.numberOfTrailingZeros(0xF0000));
1190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(20, Long.numberOfTrailingZeros(0x100000));
1192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(23, Long.numberOfTrailingZeros(0x800000));
1193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(20, Long.numberOfTrailingZeros(0xF00000));
1194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(24, Long.numberOfTrailingZeros(0x1000000));
1196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(27, Long.numberOfTrailingZeros(0x8000000));
1197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(24, Long.numberOfTrailingZeros(0xF000000));
1198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(28, Long.numberOfTrailingZeros(0x10000000));
1200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(31, Long.numberOfTrailingZeros(0x80000000));
1201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(28, Long.numberOfTrailingZeros(0xF0000000));
1202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#bitCount(long)
1206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "bitCount",
1211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
1212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_bitCountJ() {
1214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Long.bitCount(0x0));
1215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Long.bitCount(0x1));
1216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Long.bitCount(0x2));
1217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, Long.bitCount(0x3));
1218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Long.bitCount(0x4));
1219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, Long.bitCount(0x5));
1220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, Long.bitCount(0x6));
1221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(3, Long.bitCount(0x7));
1222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(1, Long.bitCount(0x8));
1223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, Long.bitCount(0x9));
1224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, Long.bitCount(0xA));
1225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(3, Long.bitCount(0xB));
1226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(2, Long.bitCount(0xC));
1227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(3, Long.bitCount(0xD));
1228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(3, Long.bitCount(0xE));
1229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(4, Long.bitCount(0xF));
1230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(8, Long.bitCount(0xFF));
1232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(12, Long.bitCount(0xFFF));
1233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(16, Long.bitCount(0xFFFF));
1234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(20, Long.bitCount(0xFFFFF));
1235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(24, Long.bitCount(0xFFFFFF));
1236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(28, Long.bitCount(0xFFFFFFF));
1237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(64, Long.bitCount(0xFFFFFFFFFFFFFFFFL));
1238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#rotateLeft(long,long)
1242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "rotateLeft",
1247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class, int.class}
1248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_rotateLeftJI() {
1250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Long.rotateLeft(0xF, 0));
1251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF0, Long.rotateLeft(0xF, 4));
1252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF00, Long.rotateLeft(0xF, 8));
1253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF000, Long.rotateLeft(0xF, 12));
1254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF0000, Long.rotateLeft(0xF, 16));
1255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF00000, Long.rotateLeft(0xF, 20));
1256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF000000, Long.rotateLeft(0xF, 24));
1257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF0000000L, Long.rotateLeft(0xF, 28));
1258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF000000000000000L, Long.rotateLeft(0xF000000000000000L, 64));
1259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#rotateRight(long,long)
1263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "rotateRight",
1268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class, int.class}
1269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_rotateRightJI() {
1271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Long.rotateRight(0xF0, 4));
1272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Long.rotateRight(0xF00, 8));
1273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Long.rotateRight(0xF000, 12));
1274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Long.rotateRight(0xF0000, 16));
1275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Long.rotateRight(0xF00000, 20));
1276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Long.rotateRight(0xF000000, 24));
1277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF, Long.rotateRight(0xF0000000L, 28));
1278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF000000000000000L, Long.rotateRight(0xF000000000000000L, 64));
1279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xF000000000000000L, Long.rotateRight(0xF000000000000000L, 0));
1280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#reverseBytes(long)
1285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "reverseBytes",
1290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
1291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_reverseBytesJ() {
1293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0xAABBCCDD00112233L, Long.reverseBytes(0x33221100DDCCBBAAL));
1294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x1122334455667788L, Long.reverseBytes(0x8877665544332211L));
1295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x0011223344556677L, Long.reverseBytes(0x7766554433221100L));
1296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x2000000000000002L, Long.reverseBytes(0x0200000000000020L));
1297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#reverse(long)
1301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "reverse",
1306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
1307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_reverseJ() {
1309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Long.reverse(0));
1310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(-1, Long.reverse(-1));
1311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0x8000000000000000L,Long.reverse(1));
1312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @tests java.lang.Long#signum(long)
1316f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1317f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "signum",
1321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {long.class}
1322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void test_signumJ() {
1324f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        for (int i = -128; i<0; i++) {
1325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(-1, Long.signum(i));
1326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals(0, Long.signum(0));
1328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        for (int i = 1; i<=127; i++) {
1329f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(1, Long.signum(i));
1330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1331f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1332f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
1333