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}