1cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath/* Licensed to the Apache Software Foundation (ASF) under one or more
2cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * contributor license agreements.  See the NOTICE file distributed with
3cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * this work for additional information regarding copyright ownership.
4cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * The ASF licenses this file to You under the Apache License, Version 2.0
5cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * (the "License"); you may not use this file except in compliance with
6cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * the License.  You may obtain a copy of the License at
7cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *
8cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *     http://www.apache.org/licenses/LICENSE-2.0
9cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *
10cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * Unless required by applicable law or agreed to in writing, software
11cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * distributed under the License is distributed on an "AS IS" BASIS,
12cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * See the License for the specific language governing permissions and
14cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * limitations under the License.
15cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */
16cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
17ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamathpackage org.apache.harmony.tests.java.lang;
18cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
19cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Properties;
20cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
21cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport junit.framework.TestCase;
22cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
23cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathpublic class LongTest extends TestCase {
24cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    private Properties orgProps;
25cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
26cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    @Override
27cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    protected void setUp() {
28cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        orgProps = System.getProperties();
29cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
30cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
31cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    @Override
32cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    protected void tearDown() {
33cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        System.setProperties(orgProps);
34cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
35cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
36cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
37cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#byteValue()
38cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
39cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_byteValue() {
40cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method byte java.lang.Long.byteValue()
41cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        Long l = new Long(127);
42cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect byte value", 127, l.byteValue());
43cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect byte value", -1, new Long(Long.MAX_VALUE)
44cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .byteValue());
45cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
46cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
47cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
48cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#compareTo(java.lang.Long)
49cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
50cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_compareToLjava_lang_Long() {
51cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method int java.lang.Long.compareTo(java.lang.Long)
52cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("-2 compared to 1 gave non-negative answer", new Long(-2L)
53cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .compareTo(new Long(1L)) < 0);
54cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("-2 compared to -2 gave non-zero answer", 0, new Long(-2L)
55cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .compareTo(new Long(-2L)));
56cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("3 compared to 2 gave non-positive answer", new Long(3L)
57cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .compareTo(new Long(2L)) > 0);
58cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
59cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
60cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            new Long(0).compareTo(null);
61cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("No NPE");
62cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NullPointerException e) {
63cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
64cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
65cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
66cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
67cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#decode(java.lang.String)
68cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
69cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_decodeLjava_lang_String2() {
70cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.Long
71cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // java.lang.Long.decode(java.lang.String)
72cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value for hex string", 255L, Long.decode(
73cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "0xFF").longValue());
74cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value for dec string", -89000L, Long.decode(
75cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "-89000").longValue());
76cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value for 0 decimal", 0, Long.decode("0")
77cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .longValue());
78cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value for 0 hex", 0, Long.decode("0x0")
79cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .longValue());
80cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue(
81cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "Returned incorrect value for most negative value decimal",
82cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Long.decode("-9223372036854775808").longValue() == 0x8000000000000000L);
83cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue(
84cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "Returned incorrect value for most negative value hex",
85cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Long.decode("-0x8000000000000000").longValue() == 0x8000000000000000L);
86cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue(
87cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "Returned incorrect value for most positive value decimal",
88cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Long.decode("9223372036854775807").longValue() == 0x7fffffffffffffffL);
89cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue(
90cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "Returned incorrect value for most positive value hex",
91cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Long.decode("0x7fffffffffffffff").longValue() == 0x7fffffffffffffffL);
92cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed for 07654321765432", Long.decode("07654321765432")
93cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .longValue() == 07654321765432l);
94cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
95cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        boolean exception = false;
96cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
97cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long
98cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                    .decode("999999999999999999999999999999999999999999999999999999");
99cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for value > ilong", exception);
104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.decode("9223372036854775808");
108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.decode("-9223372036854775809");
117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.decode("0x8000000000000000");
126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for hex MAX_VALUE + 1", exception);
131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.decode("-0x8000000000000001");
135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for hex MIN_VALUE - 1", exception);
140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.decode("42325917317067571199");
144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for 42325917317067571199",
149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                exception);
150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#getLong(java.lang.String)
154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_getLongLjava_lang_String() {
156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.Long
157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // java.lang.Long.getLong(java.lang.String)
158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        Properties tProps = new Properties();
159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        tProps.put("testLong", "99");
160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        System.setProperties(tProps);
161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("returned incorrect Long", Long.getLong("testLong").equals(
162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                new Long(99)));
163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertNull("returned incorrect default Long",
164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Long.getLong("ff"));
165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#getLong(java.lang.String, long)
169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_getLongLjava_lang_StringJ() {
171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.Long
172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // java.lang.Long.getLong(java.lang.String, long)
173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        Properties tProps = new Properties();
174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        tProps.put("testLong", "99");
175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        System.setProperties(tProps);
176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("returned incorrect Long", Long.getLong("testLong", 4L)
177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .equals(new Long(99)));
178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("returned incorrect default Long", Long.getLong("ff", 4L)
179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .equals(new Long(4)));
180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#getLong(java.lang.String, java.lang.Long)
184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_getLongLjava_lang_StringLjava_lang_Long() {
186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.Long
187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // java.lang.Long.getLong(java.lang.String, java.lang.Long)
188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        Properties tProps = new Properties();
189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        tProps.put("testLong", "99");
190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        System.setProperties(tProps);
191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("returned incorrect Long", Long.getLong("testLong",
192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                new Long(4)).equals(new Long(99)));
193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("returned incorrect default Long", Long.getLong("ff",
194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                new Long(4)).equals(new Long(4)));
195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#parseLong(java.lang.String)
199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_parseLongLjava_lang_String2() {
201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method long java.lang.Long.parseLong(java.lang.String)
202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        long l = Long.parseLong("89000000005");
204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Parsed to incorrect long value", 89000000005L, l);
205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value for 0", 0, Long.parseLong("0"));
206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value for most negative value", Long
207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .parseLong("-9223372036854775808") == 0x8000000000000000L);
208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value for most positive value", Long
209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .parseLong("9223372036854775807") == 0x7fffffffffffffffL);
210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        boolean exception = false;
212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong("9223372036854775808");
214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong("-9223372036854775809");
223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#parseLong(java.lang.String, int)
232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_parseLongLjava_lang_StringI() {
234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method long java.lang.Long.parseLong(java.lang.String, int)
235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value",
236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                100000000L, Long.parseLong("100000000", 10));
237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value from hex string", 68719476735L, Long.parseLong(
238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "FFFFFFFFF", 16));
239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value from octal string: "
240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                + Long.parseLong("77777777777"), Long.parseLong("77777777777",
241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                8) == 8589934591L);
242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value for 0 hex", 0, Long
243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .parseLong("0", 16));
244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value for most negative value hex", Long
245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .parseLong("-8000000000000000", 16) == 0x8000000000000000L);
246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value for most positive value hex", Long
247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .parseLong("7fffffffffffffff", 16) == 0x7fffffffffffffffL);
248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value for 0 decimal", 0, Long.parseLong(
249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "0", 10));
250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue(
251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "Returned incorrect value for most negative value decimal",
252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Long.parseLong("-9223372036854775808", 10) == 0x8000000000000000L);
253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue(
254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "Returned incorrect value for most positive value decimal",
255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Long.parseLong("9223372036854775807", 10) == 0x7fffffffffffffffL);
256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        boolean exception = false;
258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong("999999999999", 8);
260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // correct
262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception when passed invalid string",
265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                exception);
266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong("9223372036854775808", 10);
270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong("-9223372036854775809", 10);
279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong("8000000000000000", 16);
288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for hex MAX_VALUE + 1", exception);
293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong("-8000000000000001", 16);
297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for hex MIN_VALUE + 1", exception);
302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong("42325917317067571199", 10);
306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for 42325917317067571199",
311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                exception);
312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#toBinaryString(long)
316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_toBinaryStringJ() {
318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.String java.lang.Long.toBinaryString(long)
319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrect binary string returned", "11011001010010010000", Long.toBinaryString(
320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                890000L));
321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrect binary string returned",
322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "1000000000000000000000000000000000000000000000000000000000000000", Long
324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .toBinaryString(Long.MIN_VALUE)
325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        );
326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrect binary string returned",
327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "111111111111111111111111111111111111111111111111111111111111111", Long
329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .toBinaryString(Long.MAX_VALUE)
330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        );
331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#toHexString(long)
335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_toHexStringJ() {
337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.String java.lang.Long.toHexString(long)
338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrect hex string returned", "54e0845", Long.toHexString(89000005L)
339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        );
340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrect hex string returned", "8000000000000000", Long.toHexString(
341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Long.MIN_VALUE));
342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrect hex string returned", "7fffffffffffffff", Long.toHexString(
343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Long.MAX_VALUE));
344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#toOctalString(long)
348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_toOctalStringJ() {
350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.String java.lang.Long.toOctalString(long)
351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect oct string", "77777777777", Long.toOctalString(
352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                8589934591L));
353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect oct string", "1000000000000000000000", Long.toOctalString(
354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Long.MIN_VALUE));
355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect oct string", "777777777777777777777", Long.toOctalString(
356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Long.MAX_VALUE));
357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#toString()
361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_toString2() {
363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.String java.lang.Long.toString()
364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        Long l = new Long(89000000005L);
365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect String",
366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "89000000005", l.toString());
367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect String", "-9223372036854775808", new Long(Long.MIN_VALUE)
368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .toString());
369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect String", "9223372036854775807", new Long(Long.MAX_VALUE)
370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .toString());
371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#toString(long)
375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_toStringJ2() {
377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.String java.lang.Long.toString(long)
378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect String", "89000000005", Long.toString(89000000005L)
380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        );
381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect String", "-9223372036854775808", Long.toString(Long.MIN_VALUE)
382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        );
383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect String", "9223372036854775807", Long.toString(Long.MAX_VALUE)
384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        );
385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#toString(long, int)
389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_toStringJI() {
391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.String java.lang.Long.toString(long, int)
392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect dec string", "100000000", Long.toString(100000000L,
393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                10));
394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect hex string", "fffffffff", Long.toString(68719476735L,
395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                16));
396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect oct string", "77777777777", Long.toString(8589934591L,
397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                8));
398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect bin string",
399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "1111111111111111111111111111111111111111111", Long.toString(
400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                8796093022207L, 2));
401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect min string", "-9223372036854775808", Long.toString(
402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                0x8000000000000000L, 10));
403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect max string", "9223372036854775807", Long.toString(
404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                0x7fffffffffffffffL, 10));
405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect min string", "-8000000000000000", Long.toString(
406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                0x8000000000000000L, 16));
407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect max string", "7fffffffffffffff", Long.toString(
408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                0x7fffffffffffffffL, 16));
409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#valueOf(java.lang.String)
413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_valueOfLjava_lang_String2() {
415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.Long
416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // java.lang.Long.valueOf(java.lang.String)
417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value", 100000000L, Long.valueOf("100000000")
418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .longValue());
419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value", Long.valueOf(
420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "9223372036854775807").longValue() == Long.MAX_VALUE);
421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value", Long.valueOf(
422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "-9223372036854775808").longValue() == Long.MIN_VALUE);
423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        boolean exception = false;
425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long
427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                    .valueOf("999999999999999999999999999999999999999999999999999999999999");
428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // correct
430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception when passed invalid string",
433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                exception);
434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.valueOf("9223372036854775808");
438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // correct
440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception when passed invalid string",
443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                exception);
444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.valueOf("-9223372036854775809");
448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // correct
450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception when passed invalid string",
453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                exception);
454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#valueOf(java.lang.String, int)
458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_valueOfLjava_lang_StringI() {
460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.Long
461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // java.lang.Long.valueOf(java.lang.String, int)
462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value", 100000000L, Long.valueOf("100000000", 10)
463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .longValue());
464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value from hex string", 68719476735L, Long.valueOf(
465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "FFFFFFFFF", 16).longValue());
466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value from octal string: "
467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                + Long.valueOf("77777777777", 8).toString(), Long.valueOf(
468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "77777777777", 8).longValue() == 8589934591L);
469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value", Long.valueOf(
470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "9223372036854775807", 10).longValue() == Long.MAX_VALUE);
471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value", Long.valueOf(
472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "-9223372036854775808", 10).longValue() == Long.MIN_VALUE);
473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value", Long.valueOf("7fffffffffffffff",
474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                16).longValue() == Long.MAX_VALUE);
475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value", Long.valueOf(
476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "-8000000000000000", 16).longValue() == Long.MIN_VALUE);
477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        boolean exception = false;
479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.valueOf("999999999999", 8);
481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // correct
483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception when passed invalid string",
486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                exception);
487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.valueOf("9223372036854775808", 10);
491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // correct
493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception when passed invalid string",
496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                exception);
497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.valueOf("-9223372036854775809", 10);
501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // correct
503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception when passed invalid string",
506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                exception);
507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#valueOf(long)
511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_valueOfJ() {
513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(Long.MIN_VALUE), Long.valueOf(Long.MIN_VALUE));
514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(Long.MAX_VALUE), Long.valueOf(Long.MAX_VALUE));
515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(0), Long.valueOf(0));
516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        long lng = -128;
518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        while (lng < 128) {
519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            assertEquals(new Long(lng), Long.valueOf(lng));
520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            assertSame(Long.valueOf(lng), Long.valueOf(lng));
521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            lng++;
522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#hashCode()
527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_hashCode() {
529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals((int) (1L ^ (1L >>> 32)), new Long(1).hashCode());
530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals((int) (2L ^ (2L >>> 32)), new Long(2).hashCode());
531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals((int) (0L ^ (0L >>> 32)), new Long(0).hashCode());
532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals((int) (-1L ^ (-1L >>> 32)), new Long(-1).hashCode());
533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#Long(String)
537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_ConstructorLjava_lang_String() {
539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(0), new Long("0"));
540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(1), new Long("1"));
541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(-1), new Long("-1"));
542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            new Long("0x1");
545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with hex string.");
546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            new Long("9.2");
551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with floating point string.");
552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            new Long("");
557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with empty string.");
558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            new Long(null);
563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with null string.");
564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#Long
570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_ConstructorJ() {
572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, new Long(1).intValue());
573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(2, new Long(2).intValue());
574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, new Long(0).intValue());
575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1, new Long(-1).intValue());
576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#byteValue()
580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_booleanValue() {
582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, new Long(1).byteValue());
583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(2, new Long(2).byteValue());
584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, new Long(0).byteValue());
585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1, new Long(-1).byteValue());
586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#equals(Object)
590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_equalsLjava_lang_Object() {
592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(0), Long.valueOf(0));
593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(1), Long.valueOf(1));
594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(-1), Long.valueOf(-1));
595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        Long fixture = new Long(25);
597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(fixture, fixture);
598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertFalse(fixture.equals(null));
599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertFalse(fixture.equals("Not a Long"));
600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#toString()
604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_toString() {
606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("-1", new Long(-1).toString());
607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("0", new Long(0).toString());
608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("1", new Long(1).toString());
609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("-1", new Long(0xFFFFFFFF).toString());
610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#toString
614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_toStringJ() {
616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("-1", Long.toString(-1));
617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("0", Long.toString(0));
618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("1", Long.toString(1));
619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("-1", Long.toString(0xFFFFFFFF));
620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#valueOf(String)
624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_valueOfLjava_lang_String() {
626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(0), Long.valueOf("0"));
627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(1), Long.valueOf("1"));
628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(-1), Long.valueOf("-1"));
629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.valueOf("0x1");
632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with hex string.");
633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.valueOf("9.2");
638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with floating point string.");
639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.valueOf("");
644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with empty string.");
645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.valueOf(null);
650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with null string.");
651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#valueOf(String, long)
657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_valueOfLjava_lang_StringJ() {
659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(0), Long.valueOf("0", 10));
660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(1), Long.valueOf("1", 10));
661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(-1), Long.valueOf("-1", 10));
662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        //must be consistent with Character.digit()
664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(Character.digit('1', 2), Long.valueOf("1", 2).byteValue());
665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(Character.digit('F', 16), Long.valueOf("F", 16).byteValue());
666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.valueOf("0x1", 10);
669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with hex string.");
670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.valueOf("9.2", 10);
675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with floating point string.");
676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.valueOf("", 10);
681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with empty string.");
682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.valueOf(null, 10);
687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with null string.");
688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#parseLong(String)
694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_parseLongLjava_lang_String() {
696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Long.parseLong("0"));
697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, Long.parseLong("1"));
698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1, Long.parseLong("-1"));
699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong("0x1");
702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with hex string.");
703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong("9.2");
708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with floating point string.");
709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
711cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
712cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
713cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong("");
714cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with empty string.");
715cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong(null);
720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with null string.");
721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#parseLong(String, long)
727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_parseLongLjava_lang_StringJ() {
729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Long.parseLong("0", 10));
730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, Long.parseLong("1", 10));
731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1, Long.parseLong("-1", 10));
732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        //must be consistent with Character.digit()
734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(Character.digit('1', 2), Long.parseLong("1", 2));
735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(Character.digit('F', 16), Long.parseLong("F", 16));
736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong("0x1", 10);
739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with hex string.");
740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong("9.2", 10);
745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with floating point string.");
746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong("", 10);
751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with empty string.");
752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.parseLong(null, 10);
757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with null string.");
758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#decode(String)
764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_decodeLjava_lang_String() {
766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(0), Long.decode("0"));
767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(1), Long.decode("1"));
768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(-1), Long.decode("-1"));
769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(0xF), Long.decode("0xF"));
770cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(0xF), Long.decode("#F"));
771cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(0xF), Long.decode("0XF"));
772cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Long(07), Long.decode("07"));
773cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
774cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
775cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.decode("9.2");
776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with floating point string.");
777cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
778cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
779cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
780cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
781cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.decode("");
782cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with empty string.");
783cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
784cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
785cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
786cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Long.decode(null);
788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            //undocumented NPE, but seems consistent across JREs
789cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NullPointerException with null string.");
790cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NullPointerException e) {
791cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
792cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
793cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#doubleValue()
796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_doubleValue() {
798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1D, new Long(-1).doubleValue(), 0D);
799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0D, new Long(0).doubleValue(), 0D);
800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1D, new Long(1).doubleValue(), 0D);
801cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
802cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
803cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
804cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#floatValue()
805cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
806cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_floatValue() {
807cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1F, new Long(-1).floatValue(), 0F);
808cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0F, new Long(0).floatValue(), 0F);
809cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1F, new Long(1).floatValue(), 0F);
810cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
811cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
812cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
813cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#intValue()
814cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_intValue() {
816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1, new Long(-1).intValue());
817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, new Long(0).intValue());
818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, new Long(1).intValue());
819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#longValue()
823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_longValue() {
825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1L, new Long(-1).longValue());
826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0L, new Long(0).longValue());
827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1L, new Long(1).longValue());
828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#shortValue()
832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_shortValue() {
834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1, new Long(-1).shortValue());
835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, new Long(0).shortValue());
836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, new Long(1).shortValue());
837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#highestOneBit(long)
841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_highestOneBitJ() {
843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x08, Long.highestOneBit(0x0A));
844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x08, Long.highestOneBit(0x0B));
845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x08, Long.highestOneBit(0x0C));
846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x08, Long.highestOneBit(0x0F));
847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x80, Long.highestOneBit(0xFF));
848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x080000, Long.highestOneBit(0x0F1234));
850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x800000, Long.highestOneBit(0xFF9977));
851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x8000000000000000L, Long.highestOneBit(0xFFFFFFFFFFFFFFFFL));
853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Long.highestOneBit(0));
855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, Long.highestOneBit(1));
856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x8000000000000000L, Long.highestOneBit(-1));
857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#lowestOneBit(long)
861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_lowestOneBitJ() {
863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x10, Long.lowestOneBit(0xF0));
864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x10, Long.lowestOneBit(0x90));
866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x10, Long.lowestOneBit(0xD0));
867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x10, Long.lowestOneBit(0x123490));
869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x10, Long.lowestOneBit(0x1234D0));
870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x100000, Long.lowestOneBit(0x900000));
872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x100000, Long.lowestOneBit(0xD00000));
873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
874cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x40, Long.lowestOneBit(0x40));
875cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x40, Long.lowestOneBit(0xC0));
876cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
877cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x4000, Long.lowestOneBit(0x4000));
878cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x4000, Long.lowestOneBit(0xC000));
879cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x4000, Long.lowestOneBit(0x99994000));
881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x4000, Long.lowestOneBit(0x9999C000));
882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Long.lowestOneBit(0));
884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, Long.lowestOneBit(1));
885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, Long.lowestOneBit(-1));
886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#numberOfLeadingZeros(long)
890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_numberOfLeadingZerosJ() {
892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(64, Long.numberOfLeadingZeros(0x0L));
893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(63, Long.numberOfLeadingZeros(0x1));
894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(62, Long.numberOfLeadingZeros(0x2));
895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(62, Long.numberOfLeadingZeros(0x3));
896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(61, Long.numberOfLeadingZeros(0x4));
897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(61, Long.numberOfLeadingZeros(0x5));
898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(61, Long.numberOfLeadingZeros(0x6));
899cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(61, Long.numberOfLeadingZeros(0x7));
900cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(60, Long.numberOfLeadingZeros(0x8));
901cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(60, Long.numberOfLeadingZeros(0x9));
902cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(60, Long.numberOfLeadingZeros(0xA));
903cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(60, Long.numberOfLeadingZeros(0xB));
904cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(60, Long.numberOfLeadingZeros(0xC));
905cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(60, Long.numberOfLeadingZeros(0xD));
906cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(60, Long.numberOfLeadingZeros(0xE));
907cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(60, Long.numberOfLeadingZeros(0xF));
908cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(59, Long.numberOfLeadingZeros(0x10));
909cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(56, Long.numberOfLeadingZeros(0x80));
910cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(56, Long.numberOfLeadingZeros(0xF0));
911cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(55, Long.numberOfLeadingZeros(0x100));
912cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(52, Long.numberOfLeadingZeros(0x800));
913cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(52, Long.numberOfLeadingZeros(0xF00));
914cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(51, Long.numberOfLeadingZeros(0x1000));
915cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(48, Long.numberOfLeadingZeros(0x8000));
916cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(48, Long.numberOfLeadingZeros(0xF000));
917cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(47, Long.numberOfLeadingZeros(0x10000));
918cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(44, Long.numberOfLeadingZeros(0x80000));
919cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(44, Long.numberOfLeadingZeros(0xF0000));
920cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(43, Long.numberOfLeadingZeros(0x100000));
921cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(40, Long.numberOfLeadingZeros(0x800000));
922cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(40, Long.numberOfLeadingZeros(0xF00000));
923cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(39, Long.numberOfLeadingZeros(0x1000000));
924cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(36, Long.numberOfLeadingZeros(0x8000000));
925cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(36, Long.numberOfLeadingZeros(0xF000000));
926cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(35, Long.numberOfLeadingZeros(0x10000000));
927cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Long.numberOfLeadingZeros(0x80000000));
928cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Long.numberOfLeadingZeros(0xF0000000));
929cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
930cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, Long.numberOfLeadingZeros(Long.MAX_VALUE));
931cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Long.numberOfLeadingZeros(Long.MIN_VALUE));
932cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
933cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
934cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
935cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#numberOfTrailingZeros(long)
936cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
937cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_numberOfTrailingZerosJ() {
938cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(64, Long.numberOfTrailingZeros(0x0));
939cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(63, Long.numberOfTrailingZeros(Long.MIN_VALUE));
940cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Long.numberOfTrailingZeros(Long.MAX_VALUE));
941cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
942cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Long.numberOfTrailingZeros(0x1));
943cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(3, Long.numberOfTrailingZeros(0x8));
944cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Long.numberOfTrailingZeros(0xF));
945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(4, Long.numberOfTrailingZeros(0x10));
947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(7, Long.numberOfTrailingZeros(0x80));
948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(4, Long.numberOfTrailingZeros(0xF0));
949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
950cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(8, Long.numberOfTrailingZeros(0x100));
951cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(11, Long.numberOfTrailingZeros(0x800));
952cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(8, Long.numberOfTrailingZeros(0xF00));
953cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
954cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(12, Long.numberOfTrailingZeros(0x1000));
955cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(15, Long.numberOfTrailingZeros(0x8000));
956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(12, Long.numberOfTrailingZeros(0xF000));
957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(16, Long.numberOfTrailingZeros(0x10000));
959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(19, Long.numberOfTrailingZeros(0x80000));
960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(16, Long.numberOfTrailingZeros(0xF0000));
961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(20, Long.numberOfTrailingZeros(0x100000));
963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(23, Long.numberOfTrailingZeros(0x800000));
964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(20, Long.numberOfTrailingZeros(0xF00000));
965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(24, Long.numberOfTrailingZeros(0x1000000));
967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(27, Long.numberOfTrailingZeros(0x8000000));
968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(24, Long.numberOfTrailingZeros(0xF000000));
969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(28, Long.numberOfTrailingZeros(0x10000000));
971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(31, Long.numberOfTrailingZeros(0x80000000));
972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(28, Long.numberOfTrailingZeros(0xF0000000));
973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#bitCount(long)
977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_bitCountJ() {
979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Long.bitCount(0x0));
980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, Long.bitCount(0x1));
981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, Long.bitCount(0x2));
982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(2, Long.bitCount(0x3));
983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, Long.bitCount(0x4));
984cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(2, Long.bitCount(0x5));
985cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(2, Long.bitCount(0x6));
986cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(3, Long.bitCount(0x7));
987cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, Long.bitCount(0x8));
988cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(2, Long.bitCount(0x9));
989cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(2, Long.bitCount(0xA));
990cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(3, Long.bitCount(0xB));
991cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(2, Long.bitCount(0xC));
992cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(3, Long.bitCount(0xD));
993cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(3, Long.bitCount(0xE));
994cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(4, Long.bitCount(0xF));
995cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
996cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(8, Long.bitCount(0xFF));
997cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(12, Long.bitCount(0xFFF));
998cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(16, Long.bitCount(0xFFFF));
999cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(20, Long.bitCount(0xFFFFF));
1000cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(24, Long.bitCount(0xFFFFFF));
1001cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(28, Long.bitCount(0xFFFFFFF));
1002cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(64, Long.bitCount(0xFFFFFFFFFFFFFFFFL));
1003cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
1004cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
1005cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
1006cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#rotateLeft(long, long)
1007cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
1008cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_rotateLeftJI() {
1009cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF, Long.rotateLeft(0xF, 0));
1010cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF0, Long.rotateLeft(0xF, 4));
1011cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF00, Long.rotateLeft(0xF, 8));
1012cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF000, Long.rotateLeft(0xF, 12));
1013cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF0000, Long.rotateLeft(0xF, 16));
1014cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF00000, Long.rotateLeft(0xF, 20));
1015cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF000000, Long.rotateLeft(0xF, 24));
1016cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF0000000L, Long.rotateLeft(0xF, 28));
1017cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF000000000000000L, Long.rotateLeft(0xF000000000000000L, 64));
1018cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
1019cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
1020cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
1021cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#rotateRight(long, long)
1022cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
1023cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_rotateRightJI() {
1024cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF, Long.rotateRight(0xF0, 4));
1025cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF, Long.rotateRight(0xF00, 8));
1026cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF, Long.rotateRight(0xF000, 12));
1027cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF, Long.rotateRight(0xF0000, 16));
1028cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF, Long.rotateRight(0xF00000, 20));
1029cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF, Long.rotateRight(0xF000000, 24));
1030cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF, Long.rotateRight(0xF0000000L, 28));
1031cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF000000000000000L, Long.rotateRight(0xF000000000000000L, 64));
1032cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xF000000000000000L, Long.rotateRight(0xF000000000000000L, 0));
1033cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
1034cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
1035cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
1036cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
1037cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#reverseBytes(long)
1038cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
1039cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_reverseBytesJ() {
1040cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0xAABBCCDD00112233L, Long.reverseBytes(0x33221100DDCCBBAAL));
1041cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x1122334455667788L, Long.reverseBytes(0x8877665544332211L));
1042cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x0011223344556677L, Long.reverseBytes(0x7766554433221100L));
1043cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x2000000000000002L, Long.reverseBytes(0x0200000000000020L));
1044cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
1045cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
1046cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
1047cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#reverse(long)
1048cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
1049cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_reverseJ() {
1050cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Long.reverse(0));
1051cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1, Long.reverse(-1));
1052cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0x8000000000000000L, Long.reverse(1));
1053cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
1054cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
1055cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
1056cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Long#signum(long)
1057cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
1058cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_signumJ() {
1059cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        for (int i = -128; i < 0; i++) {
1060cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            assertEquals(-1, Long.signum(i));
1061cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
1062cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Long.signum(0));
1063cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        for (int i = 1; i <= 127; i++) {
1064cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            assertEquals(1, Long.signum(i));
1065cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
1066cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
1067cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath}