1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/* Licensed to the Apache Software Foundation (ASF) under one or more
2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * contributor license agreements.  See the NOTICE file distributed with
3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * this work for additional information regarding copyright ownership.
4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0
5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (the "License"); you may not use this file except in compliance with
6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License.  You may obtain a copy of the License at
7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *     http://www.apache.org/licenses/LICENSE-2.0
9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Unless required by applicable law or agreed to in writing, software
11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS,
12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * See the License for the specific language governing permissions and
14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * limitations under the License.
15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.luni.tests.java.lang;
18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Properties;
20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport junit.framework.TestCase;
22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class LongTest extends TestCase {
24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    private Properties orgProps;
25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    @Override
27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    protected void setUp() {
28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        orgProps = System.getProperties();
29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    @Override
32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    protected void tearDown() {
33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        System.setProperties(orgProps);
34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#byteValue()
38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_byteValue() {
40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method byte java.lang.Long.byteValue()
41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Long l = new Long(127);
42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect byte value", 127, l.byteValue());
43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect byte value", -1, new Long(Long.MAX_VALUE)
44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .byteValue());
45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#compareTo(java.lang.Long)
49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_compareToLjava_lang_Long() {
51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method int java.lang.Long.compareTo(java.lang.Long)
52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("-2 compared to 1 gave non-negative answer", new Long(-2L)
53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .compareTo(new Long(1L)) < 0);
54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("-2 compared to -2 gave non-zero answer", 0, new Long(-2L)
55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .compareTo(new Long(-2L)));
56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("3 compared to 2 gave non-positive answer", new Long(3L)
57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .compareTo(new Long(2L)) > 0);
58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            new Long(0).compareTo(null);
61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("No NPE");
62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NullPointerException e) {
63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#decode(java.lang.String)
68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_decodeLjava_lang_String2() {
70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method java.lang.Long
71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // java.lang.Long.decode(java.lang.String)
72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect value for hex string", 255L, Long.decode(
73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "0xFF").longValue());
74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect value for dec string", -89000L, Long.decode(
75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "-89000").longValue());
76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect value for 0 decimal", 0, Long.decode("0")
77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .longValue());
78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect value for 0 hex", 0, Long.decode("0x0")
79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .longValue());
80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(
81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "Returned incorrect value for most negative value decimal",
82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                Long.decode("-9223372036854775808").longValue() == 0x8000000000000000L);
83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(
84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "Returned incorrect value for most negative value hex",
85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                Long.decode("-0x8000000000000000").longValue() == 0x8000000000000000L);
86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(
87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "Returned incorrect value for most positive value decimal",
88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                Long.decode("9223372036854775807").longValue() == 0x7fffffffffffffffL);
89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(
90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "Returned incorrect value for most positive value hex",
91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                Long.decode("0x7fffffffffffffff").longValue() == 0x7fffffffffffffffL);
92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed for 07654321765432", Long.decode("07654321765432")
93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .longValue() == 07654321765432l);
94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        boolean exception = false;
96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long
98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    .decode("999999999999999999999999999999999999999999999999999999");
99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // Correct
101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception for value > ilong", exception);
104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.decode("9223372036854775808");
108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // Correct
110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.decode("-9223372036854775809");
117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // Correct
119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.decode("0x8000000000000000");
126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // Correct
128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception for hex MAX_VALUE + 1", exception);
131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.decode("-0x8000000000000001");
135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // Correct
137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception for hex MIN_VALUE - 1", exception);
140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.decode("42325917317067571199");
144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // Correct
146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception for 42325917317067571199",
149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                exception);
150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     /**
153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#getLong(java.lang.String)
154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_getLongLjava_lang_String() {
156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method java.lang.Long
157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // java.lang.Long.getLong(java.lang.String)
158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Properties tProps = new Properties();
159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        tProps.put("testLong", "99");
160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        System.setProperties(tProps);
161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("returned incorrect Long", Long.getLong("testLong").equals(
162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                new Long(99)));
163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNull("returned incorrect default Long",
164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                Long.getLong("ff"));
165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#getLong(java.lang.String, long)
169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_getLongLjava_lang_StringJ() {
171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method java.lang.Long
172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // java.lang.Long.getLong(java.lang.String, long)
173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Properties tProps = new Properties();
174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        tProps.put("testLong", "99");
175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        System.setProperties(tProps);
176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("returned incorrect Long", Long.getLong("testLong", 4L)
177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .equals(new Long(99)));
178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("returned incorrect default Long", Long.getLong("ff", 4L)
179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .equals(new Long(4)));
180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#getLong(java.lang.String, java.lang.Long)
184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_getLongLjava_lang_StringLjava_lang_Long() {
186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method java.lang.Long
187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // java.lang.Long.getLong(java.lang.String, java.lang.Long)
188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Properties tProps = new Properties();
189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        tProps.put("testLong", "99");
190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        System.setProperties(tProps);
191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("returned incorrect Long", Long.getLong("testLong",
192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                new Long(4)).equals(new Long(99)));
193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("returned incorrect default Long", Long.getLong("ff",
194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                new Long(4)).equals(new Long(4)));
195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#parseLong(java.lang.String)
199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_parseLongLjava_lang_String2() {
201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method long java.lang.Long.parseLong(java.lang.String)
202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        long l = Long.parseLong("89000000005");
204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Parsed to incorrect long value", 89000000005L, l);
205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect value for 0", 0, Long.parseLong("0"));
206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Returned incorrect value for most negative value", Long
207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .parseLong("-9223372036854775808") == 0x8000000000000000L);
208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Returned incorrect value for most positive value", Long
209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .parseLong("9223372036854775807") == 0x7fffffffffffffffL);
210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        boolean exception = false;
212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong("9223372036854775808");
214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // Correct
216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong("-9223372036854775809");
223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // Correct
225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#parseLong(java.lang.String, int)
232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_parseLongLjava_lang_StringI() {
234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method long java.lang.Long.parseLong(java.lang.String, int)
235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect value",
236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                100000000L, Long.parseLong("100000000", 10));
237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect value from hex string", 68719476735L, Long.parseLong(
238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "FFFFFFFFF", 16));
239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Returned incorrect value from octal string: "
240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                + Long.parseLong("77777777777"), Long.parseLong("77777777777",
241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                8) == 8589934591L);
242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect value for 0 hex", 0, Long
243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .parseLong("0", 16));
244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Returned incorrect value for most negative value hex", Long
245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .parseLong("-8000000000000000", 16) == 0x8000000000000000L);
246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Returned incorrect value for most positive value hex", Long
247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .parseLong("7fffffffffffffff", 16) == 0x7fffffffffffffffL);
248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect value for 0 decimal", 0, Long.parseLong(
249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "0", 10));
250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(
251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "Returned incorrect value for most negative value decimal",
252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                Long.parseLong("-9223372036854775808", 10) == 0x8000000000000000L);
253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(
254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "Returned incorrect value for most positive value decimal",
255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                Long.parseLong("9223372036854775807", 10) == 0x7fffffffffffffffL);
256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        boolean exception = false;
258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong("999999999999", 8);
260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // correct
262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception when passed invalid string",
265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                exception);
266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong("9223372036854775808", 10);
270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // Correct
272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong("-9223372036854775809", 10);
279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // Correct
281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong("8000000000000000", 16);
288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // Correct
290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception for hex MAX_VALUE + 1", exception);
293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong("-8000000000000001", 16);
297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // Correct
299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception for hex MIN_VALUE + 1", exception);
302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong("42325917317067571199", 10);
306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // Correct
308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception for 42325917317067571199",
311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                exception);
312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#toBinaryString(long)
316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_toBinaryStringJ() {
318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method java.lang.String java.lang.Long.toBinaryString(long)
319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Incorrect binary string returned", "11011001010010010000", Long.toBinaryString(
320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                890000L));
321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Incorrect binary string returned",
322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                                "1000000000000000000000000000000000000000000000000000000000000000", Long
324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        .toBinaryString(Long.MIN_VALUE)
325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        );
326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Incorrect binary string returned",
327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                                "111111111111111111111111111111111111111111111111111111111111111", Long
329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        .toBinaryString(Long.MAX_VALUE)
330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        );
331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#toHexString(long)
335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_toHexStringJ() {
337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method java.lang.String java.lang.Long.toHexString(long)
338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Incorrect hex string returned", "54e0845", Long.toHexString(89000005L)
339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                );
340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Incorrect hex string returned", "8000000000000000", Long.toHexString(
341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                Long.MIN_VALUE));
342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Incorrect hex string returned", "7fffffffffffffff", Long.toHexString(
343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                Long.MAX_VALUE));
344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#toOctalString(long)
348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_toOctalStringJ() {
350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method java.lang.String java.lang.Long.toOctalString(long)
351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect oct string", "77777777777", Long.toOctalString(
352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                8589934591L));
353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect oct string", "1000000000000000000000", Long.toOctalString(
354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                Long.MIN_VALUE));
355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect oct string", "777777777777777777777", Long.toOctalString(
356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                Long.MAX_VALUE));
357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#toString()
361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_toString2() {
363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method java.lang.String java.lang.Long.toString()
364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Long l = new Long(89000000005L);
365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect String",
366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "89000000005", l.toString());
367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect String", "-9223372036854775808", new Long(Long.MIN_VALUE)
368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .toString());
369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect String", "9223372036854775807", new Long(Long.MAX_VALUE)
370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .toString());
371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#toString(long)
375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_toStringJ2() {
377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method java.lang.String java.lang.Long.toString(long)
378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect String", "89000000005", Long.toString(89000000005L)
380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                );
381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect String", "-9223372036854775808", Long.toString(Long.MIN_VALUE)
382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                );
383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect String", "9223372036854775807", Long.toString(Long.MAX_VALUE)
384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                );
385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#toString(long, int)
389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_toStringJI() {
391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method java.lang.String java.lang.Long.toString(long, int)
392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect dec string", "100000000", Long.toString(100000000L,
393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                10));
394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect hex string", "fffffffff", Long.toString(68719476735L,
395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                16));
396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect oct string", "77777777777", Long.toString(8589934591L,
397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                8));
398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect bin string",
399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "1111111111111111111111111111111111111111111", Long.toString(
400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                8796093022207L, 2));
401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect min string", "-9223372036854775808", Long.toString(
402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                0x8000000000000000L, 10));
403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect max string", "9223372036854775807", Long.toString(
404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                0x7fffffffffffffffL, 10));
405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect min string", "-8000000000000000", Long.toString(
406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                0x8000000000000000L, 16));
407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect max string", "7fffffffffffffff", Long.toString(
408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                0x7fffffffffffffffL, 16));
409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#valueOf(java.lang.String)
413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_valueOfLjava_lang_String2() {
415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method java.lang.Long
416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // java.lang.Long.valueOf(java.lang.String)
417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect value", 100000000L, Long.valueOf("100000000")
418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .longValue());
419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Returned incorrect value", Long.valueOf(
420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "9223372036854775807").longValue() == Long.MAX_VALUE);
421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Returned incorrect value", Long.valueOf(
422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "-9223372036854775808").longValue() == Long.MIN_VALUE);
423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        boolean exception = false;
425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long
427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    .valueOf("999999999999999999999999999999999999999999999999999999999999");
428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // correct
430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception when passed invalid string",
433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                exception);
434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.valueOf("9223372036854775808");
438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // correct
440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception when passed invalid string",
443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                exception);
444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.valueOf("-9223372036854775809");
448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // correct
450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception when passed invalid string",
453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                exception);
454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#valueOf(java.lang.String, int)
458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_valueOfLjava_lang_StringI() {
460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method java.lang.Long
461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // java.lang.Long.valueOf(java.lang.String, int)
462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect value", 100000000L, Long.valueOf("100000000", 10)
463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .longValue());
464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Returned incorrect value from hex string", 68719476735L, Long.valueOf(
465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "FFFFFFFFF", 16).longValue());
466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Returned incorrect value from octal string: "
467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                + Long.valueOf("77777777777", 8).toString(), Long.valueOf(
468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "77777777777", 8).longValue() == 8589934591L);
469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Returned incorrect value", Long.valueOf(
470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "9223372036854775807", 10).longValue() == Long.MAX_VALUE);
471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Returned incorrect value", Long.valueOf(
472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "-9223372036854775808", 10).longValue() == Long.MIN_VALUE);
473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Returned incorrect value", Long.valueOf("7fffffffffffffff",
474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                16).longValue() == Long.MAX_VALUE);
475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Returned incorrect value", Long.valueOf(
476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "-8000000000000000", 16).longValue() == Long.MIN_VALUE);
477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        boolean exception = false;
479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.valueOf("999999999999", 8);
481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // correct
483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception when passed invalid string",
486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                exception);
487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.valueOf("9223372036854775808", 10);
491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // correct
493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception when passed invalid string",
496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                exception);
497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        exception = false;
499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.valueOf("-9223372036854775809", 10);
501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {
502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // correct
503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            exception = true;
504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Failed to throw exception when passed invalid string",
506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                exception);
507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#valueOf(long)
510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_valueOfJ() {
512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(Long.MIN_VALUE), Long.valueOf(Long.MIN_VALUE));
513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(Long.MAX_VALUE), Long.valueOf(Long.MAX_VALUE));
514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long( 0), Long.valueOf( 0));
515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        long lng = -128;
517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        while (lng < 128) {
518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(new Long(lng), Long.valueOf(lng));
519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertSame(Long.valueOf(lng), Long.valueOf(lng));
520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            lng++;
521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#hashCode()
526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_hashCode() {
528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals((int)(1L ^ (1L >>> 32)), new Long(1).hashCode());
529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals((int)(2L ^ (2L >>> 32)), new Long(2).hashCode());
530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals((int)(0L ^ (0L >>> 32)), new Long(0).hashCode());
531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals((int)(-1L ^ (-1L >>> 32)), new Long(-1).hashCode());
532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#Long(String)
536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_ConstructorLjava_lang_String() {
538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(0), new Long("0"));
539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(1), new Long("1"));
540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(-1), new Long("-1"));
541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            new Long("0x1");
544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with hex string.");
545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            new Long("9.2");
549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with floating point string.");
550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            new Long("");
554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with empty string.");
555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            new Long(null);
559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with null string.");
560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#Long
565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_ConstructorJ() {
567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1, new Long(1).intValue());
568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(2, new Long(2).intValue());
569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, new Long(0).intValue());
570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(-1, new Long(-1).intValue());
571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#byteValue()
575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_booleanValue() {
577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1, new Long(1).byteValue());
578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(2, new Long(2).byteValue());
579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, new Long(0).byteValue());
580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(-1, new Long(-1).byteValue());
581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#equals(Object)
585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_equalsLjava_lang_Object() {
587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(0), Long.valueOf(0));
588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(1), Long.valueOf(1));
589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(-1), Long.valueOf(-1));
590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Long fixture = new Long(25);
592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(fixture, fixture);
593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertFalse(fixture.equals(null));
594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertFalse(fixture.equals("Not a Long"));
595561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
596561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
597561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
598561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#toString()
599561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
600561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_toString() {
601561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("-1", new Long(-1).toString());
602561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("0", new Long(0).toString());
603561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("1", new Long(1).toString());
604561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("-1", new Long(0xFFFFFFFF).toString());
605561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
606561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
607561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
608561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#toString
609561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
610561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_toStringJ() {
611561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("-1", Long.toString(-1));
612561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("0", Long.toString(0));
613561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("1", Long.toString(1));
614561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("-1", Long.toString(0xFFFFFFFF));
615561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
616561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
617561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
618561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#valueOf(String)
619561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
620561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_valueOfLjava_lang_String() {
621561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(0), Long.valueOf("0"));
622561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(1), Long.valueOf("1"));
623561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(-1), Long.valueOf("-1"));
624561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
625561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
626561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.valueOf("0x1");
627561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with hex string.");
628561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
629561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
630561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
631561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.valueOf("9.2");
632561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with floating point string.");
633561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
634561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
635561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
636561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.valueOf("");
637561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with empty string.");
638561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
639561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
640561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
641561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.valueOf(null);
642561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with null string.");
643561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
644561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
645561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
646561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
647561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#valueOf(String,long)
648561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
649561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_valueOfLjava_lang_StringJ() {
650561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(0), Long.valueOf("0", 10));
651561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(1), Long.valueOf("1", 10));
652561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(-1), Long.valueOf("-1", 10));
653561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
654561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        //must be consistent with Character.digit()
655561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(Character.digit('1', 2), Long.valueOf("1", 2).byteValue());
656561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(Character.digit('F', 16), Long.valueOf("F", 16).byteValue());
657561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
658561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
659561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.valueOf("0x1", 10);
660561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with hex string.");
661561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
662561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
663561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
664561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.valueOf("9.2", 10);
665561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with floating point string.");
666561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
667561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
668561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
669561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.valueOf("", 10);
670561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with empty string.");
671561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
672561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
673561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
674561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.valueOf(null, 10);
675561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with null string.");
676561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
677561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
678561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
679561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
680561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#parseLong(String)
681561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
682561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_parseLongLjava_lang_String() {
683561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, Long.parseLong("0"));
684561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1, Long.parseLong("1"));
685561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(-1, Long.parseLong("-1"));
686561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
687561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
688561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong("0x1");
689561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with hex string.");
690561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
691561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
692561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
693561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong("9.2");
694561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with floating point string.");
695561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
696561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
697561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
698561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong("");
699561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with empty string.");
700561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
701561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
702561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
703561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong(null);
704561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with null string.");
705561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
706561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
707561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
708561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
709561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#parseLong(String,long)
710561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
711561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_parseLongLjava_lang_StringJ() {
712561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, Long.parseLong("0", 10));
713561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1, Long.parseLong("1", 10));
714561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(-1, Long.parseLong("-1", 10));
715561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
716561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        //must be consistent with Character.digit()
717561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(Character.digit('1', 2), Long.parseLong("1", 2));
718561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(Character.digit('F', 16), Long.parseLong("F", 16));
719561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
720561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
721561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong("0x1", 10);
722561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with hex string.");
723561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
724561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
725561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
726561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong("9.2", 10);
727561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with floating point string.");
728561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
729561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
730561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
731561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong("", 10);
732561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with empty string.");
733561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
734561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
735561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
736561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.parseLong(null, 10);
737561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with null string.");
738561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
739561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
740561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
741561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
742561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#decode(String)
743561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
744561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_decodeLjava_lang_String() {
745561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(0), Long.decode("0"));
746561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(1), Long.decode("1"));
747561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(-1), Long.decode("-1"));
748561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(0xF), Long.decode("0xF"));
749561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(0xF), Long.decode("#F"));
750561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(0xF), Long.decode("0XF"));
751561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(new Long(07), Long.decode("07"));
752561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
753561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
754561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.decode("9.2");
755561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with floating point string.");
756561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
757561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
758561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
759561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.decode("");
760561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NumberFormatException with empty string.");
761561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NumberFormatException e) {}
762561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
763561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
764561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Long.decode(null);
765561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            //undocumented NPE, but seems consistent across JREs
766561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Expected NullPointerException with null string.");
767561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NullPointerException e) {}
768561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
769561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
770561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
771561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#doubleValue()
772561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
773561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_doubleValue() {
774561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(-1D, new Long(-1).doubleValue(), 0D);
775561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0D, new Long(0).doubleValue(), 0D);
776561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1D, new Long(1).doubleValue(), 0D);
777561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
778561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
779561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
780561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#floatValue()
781561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
782561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_floatValue() {
783561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(-1F, new Long(-1).floatValue(), 0F);
784561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0F, new Long(0).floatValue(), 0F);
785561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1F, new Long(1).floatValue(), 0F);
786561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
787561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
788561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
789561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#intValue()
790561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
791561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_intValue() {
792561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(-1, new Long(-1).intValue());
793561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, new Long(0).intValue());
794561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1, new Long(1).intValue());
795561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
796561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
797561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
798561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#longValue()
799561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
800561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_longValue() {
801561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(-1L, new Long(-1).longValue());
802561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0L, new Long(0).longValue());
803561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1L, new Long(1).longValue());
804561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
805561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
806561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
807561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#shortValue()
808561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
809561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_shortValue() {
810561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(-1, new Long(-1).shortValue());
811561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, new Long(0).shortValue());
812561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1, new Long(1).shortValue());
813561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
814561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
815561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#highestOneBit(long)
816561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
817561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_highestOneBitJ() {
818561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x08, Long.highestOneBit(0x0A));
819561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x08, Long.highestOneBit(0x0B));
820561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x08, Long.highestOneBit(0x0C));
821561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x08, Long.highestOneBit(0x0F));
822561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x80, Long.highestOneBit(0xFF));
823561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
824561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x080000, Long.highestOneBit(0x0F1234));
825561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x800000, Long.highestOneBit(0xFF9977));
826561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
827561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x8000000000000000L, Long.highestOneBit(0xFFFFFFFFFFFFFFFFL));
828561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
829561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, Long.highestOneBit(0));
830561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1, Long.highestOneBit(1));
831561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x8000000000000000L, Long.highestOneBit(-1));
832561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
833561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
834561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
835561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#lowestOneBit(long)
836561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
837561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_lowestOneBitJ() {
838561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x10, Long.lowestOneBit(0xF0));
839561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
840561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x10, Long.lowestOneBit(0x90));
841561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x10, Long.lowestOneBit(0xD0));
842561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
843561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x10, Long.lowestOneBit(0x123490));
844561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x10, Long.lowestOneBit(0x1234D0));
845561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
846561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x100000, Long.lowestOneBit(0x900000));
847561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x100000, Long.lowestOneBit(0xD00000));
848561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
849561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x40, Long.lowestOneBit(0x40));
850561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x40, Long.lowestOneBit(0xC0));
851561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
852561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x4000, Long.lowestOneBit(0x4000));
853561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x4000, Long.lowestOneBit(0xC000));
854561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
855561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x4000, Long.lowestOneBit(0x99994000));
856561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x4000, Long.lowestOneBit(0x9999C000));
857561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
858561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, Long.lowestOneBit(0));
859561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1, Long.lowestOneBit(1));
860561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1, Long.lowestOneBit(-1));
861561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
862561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
863561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#numberOfLeadingZeros(long)
864561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
865561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_numberOfLeadingZerosJ() {
866561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(64, Long.numberOfLeadingZeros(0x0L));
867561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(63, Long.numberOfLeadingZeros(0x1));
868561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(62, Long.numberOfLeadingZeros(0x2));
869561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(62, Long.numberOfLeadingZeros(0x3));
870561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(61, Long.numberOfLeadingZeros(0x4));
871561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(61, Long.numberOfLeadingZeros(0x5));
872561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(61, Long.numberOfLeadingZeros(0x6));
873561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(61, Long.numberOfLeadingZeros(0x7));
874561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(60, Long.numberOfLeadingZeros(0x8));
875561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(60, Long.numberOfLeadingZeros(0x9));
876561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(60, Long.numberOfLeadingZeros(0xA));
877561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(60, Long.numberOfLeadingZeros(0xB));
878561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(60, Long.numberOfLeadingZeros(0xC));
879561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(60, Long.numberOfLeadingZeros(0xD));
880561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(60, Long.numberOfLeadingZeros(0xE));
881561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(60, Long.numberOfLeadingZeros(0xF));
882561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(59, Long.numberOfLeadingZeros(0x10));
883561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(56, Long.numberOfLeadingZeros(0x80));
884561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(56, Long.numberOfLeadingZeros(0xF0));
885561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(55, Long.numberOfLeadingZeros(0x100));
886561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(52, Long.numberOfLeadingZeros(0x800));
887561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(52, Long.numberOfLeadingZeros(0xF00));
888561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(51, Long.numberOfLeadingZeros(0x1000));
889561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(48, Long.numberOfLeadingZeros(0x8000));
890561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(48, Long.numberOfLeadingZeros(0xF000));
891561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(47, Long.numberOfLeadingZeros(0x10000));
892561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(44, Long.numberOfLeadingZeros(0x80000));
893561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(44, Long.numberOfLeadingZeros(0xF0000));
894561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(43, Long.numberOfLeadingZeros(0x100000));
895561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(40, Long.numberOfLeadingZeros(0x800000));
896561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(40, Long.numberOfLeadingZeros(0xF00000));
897561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(39, Long.numberOfLeadingZeros(0x1000000));
898561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(36, Long.numberOfLeadingZeros(0x8000000));
899561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(36, Long.numberOfLeadingZeros(0xF000000));
900561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(35, Long.numberOfLeadingZeros(0x10000000));
901561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, Long.numberOfLeadingZeros(0x80000000));
902561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, Long.numberOfLeadingZeros(0xF0000000));
903561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
904561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1, Long.numberOfLeadingZeros(Long.MAX_VALUE));
905561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, Long.numberOfLeadingZeros(Long.MIN_VALUE));
906561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
907561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
908561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
909561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#numberOfTrailingZeros(long)
910561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
911561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_numberOfTrailingZerosJ() {
912561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(64, Long.numberOfTrailingZeros(0x0));
913561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(63, Long.numberOfTrailingZeros(Long.MIN_VALUE));
914561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, Long.numberOfTrailingZeros(Long.MAX_VALUE));
915561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
916561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, Long.numberOfTrailingZeros(0x1));
917561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(3, Long.numberOfTrailingZeros(0x8));
918561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, Long.numberOfTrailingZeros(0xF));
919561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
920561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(4, Long.numberOfTrailingZeros(0x10));
921561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(7, Long.numberOfTrailingZeros(0x80));
922561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(4, Long.numberOfTrailingZeros(0xF0));
923561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
924561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(8, Long.numberOfTrailingZeros(0x100));
925561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(11, Long.numberOfTrailingZeros(0x800));
926561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(8, Long.numberOfTrailingZeros(0xF00));
927561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
928561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(12, Long.numberOfTrailingZeros(0x1000));
929561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(15, Long.numberOfTrailingZeros(0x8000));
930561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(12, Long.numberOfTrailingZeros(0xF000));
931561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
932561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(16, Long.numberOfTrailingZeros(0x10000));
933561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(19, Long.numberOfTrailingZeros(0x80000));
934561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(16, Long.numberOfTrailingZeros(0xF0000));
935561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
936561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(20, Long.numberOfTrailingZeros(0x100000));
937561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(23, Long.numberOfTrailingZeros(0x800000));
938561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(20, Long.numberOfTrailingZeros(0xF00000));
939561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
940561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(24, Long.numberOfTrailingZeros(0x1000000));
941561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(27, Long.numberOfTrailingZeros(0x8000000));
942561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(24, Long.numberOfTrailingZeros(0xF000000));
943561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
944561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(28, Long.numberOfTrailingZeros(0x10000000));
945561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(31, Long.numberOfTrailingZeros(0x80000000));
946561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(28, Long.numberOfTrailingZeros(0xF0000000));
947561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
948561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
949561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
950561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#bitCount(long)
951561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
952561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_bitCountJ() {
953561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, Long.bitCount(0x0));
954561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1, Long.bitCount(0x1));
955561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1, Long.bitCount(0x2));
956561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(2, Long.bitCount(0x3));
957561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1, Long.bitCount(0x4));
958561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(2, Long.bitCount(0x5));
959561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(2, Long.bitCount(0x6));
960561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(3, Long.bitCount(0x7));
961561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1, Long.bitCount(0x8));
962561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(2, Long.bitCount(0x9));
963561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(2, Long.bitCount(0xA));
964561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(3, Long.bitCount(0xB));
965561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(2, Long.bitCount(0xC));
966561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(3, Long.bitCount(0xD));
967561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(3, Long.bitCount(0xE));
968561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(4, Long.bitCount(0xF));
969561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
970561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(8, Long.bitCount(0xFF));
971561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(12, Long.bitCount(0xFFF));
972561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(16, Long.bitCount(0xFFFF));
973561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(20, Long.bitCount(0xFFFFF));
974561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(24, Long.bitCount(0xFFFFFF));
975561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(28, Long.bitCount(0xFFFFFFF));
976561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(64, Long.bitCount(0xFFFFFFFFFFFFFFFFL));
977561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
978561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
979561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
980561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#rotateLeft(long,long)
981561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
982561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_rotateLeftJI() {
983561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF, Long.rotateLeft(0xF, 0));
984561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF0, Long.rotateLeft(0xF, 4));
985561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF00, Long.rotateLeft(0xF, 8));
986561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF000, Long.rotateLeft(0xF, 12));
987561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF0000, Long.rotateLeft(0xF, 16));
988561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF00000, Long.rotateLeft(0xF, 20));
989561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF000000, Long.rotateLeft(0xF, 24));
990561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF0000000L, Long.rotateLeft(0xF, 28));
991561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF000000000000000L, Long.rotateLeft(0xF000000000000000L, 64));
992561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
993561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
994561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
995561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#rotateRight(long,long)
996561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
997561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_rotateRightJI() {
998561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF, Long.rotateRight(0xF0, 4));
999561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF, Long.rotateRight(0xF00, 8));
1000561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF, Long.rotateRight(0xF000, 12));
1001561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF, Long.rotateRight(0xF0000, 16));
1002561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF, Long.rotateRight(0xF00000, 20));
1003561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF, Long.rotateRight(0xF000000, 24));
1004561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF, Long.rotateRight(0xF0000000L, 28));
1005561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF000000000000000L, Long.rotateRight(0xF000000000000000L, 64));
1006561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xF000000000000000L, Long.rotateRight(0xF000000000000000L, 0));
1007561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1008561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
1009561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1010561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
1011561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#reverseBytes(long)
1012561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
1013561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_reverseBytesJ() {
1014561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0xAABBCCDD00112233L, Long.reverseBytes(0x33221100DDCCBBAAL));
1015561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x1122334455667788L, Long.reverseBytes(0x8877665544332211L));
1016561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x0011223344556677L, Long.reverseBytes(0x7766554433221100L));
1017561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x2000000000000002L, Long.reverseBytes(0x0200000000000020L));
1018561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
1019561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1020561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
1021561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#reverse(long)
1022561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
1023561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_reverseJ() {
1024561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, Long.reverse(0));
1025561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(-1, Long.reverse(-1));
1026561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0x8000000000000000L,Long.reverse(1));
1027561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
1028561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1029561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
1030561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.lang.Long#signum(long)
1031561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
1032561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_signumJ() {
1033561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = -128; i<0; i++) {
1034561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(-1, Long.signum(i));
1035561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
1036561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, Long.signum(0));
1037561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 1; i<=127; i++) {
1038561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(1, Long.signum(i));
1039561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
1040561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
1041561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes}