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 junit.framework.TestCase;
20cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
21cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathpublic class ShortTest extends TestCase {
22cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    private Short sp = new Short((short) 18000);
23cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    private Short sn = new Short((short) -19000);
24cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
25cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
26cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#byteValue()
27cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
28cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_byteValue() {
29cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method byte java.lang.Short.byteValue()
30cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect byte value", 0, new Short(Short.MIN_VALUE)
31cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .byteValue());
32cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect byte value", -1, new Short(Short.MAX_VALUE)
33cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .byteValue());
34cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
35cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
36cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
37cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#compareTo(java.lang.Short)
38cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
39cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_compareToLjava_lang_Short() {
40cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method int java.lang.Short.compareTo(java.lang.Short)
41cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        Short s = new Short((short) 1);
42cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        Short x = new Short((short) 3);
43cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue(
44cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "Should have returned negative value when compared to greater short",
45cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                s.compareTo(x) < 0);
46cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        x = new Short((short) -1);
47cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue(
48cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "Should have returned positive value when compared to lesser short",
49cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                s.compareTo(x) > 0);
50cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        x = new Short((short) 1);
51cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Should have returned zero when compared to equal short",
52cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                0, s.compareTo(x));
53cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
54cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
55cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            new Short((short) 0).compareTo(null);
56cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("No NPE");
57cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NullPointerException e) {
58cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
59cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
60cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
61cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
62cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#decode(java.lang.String)
63cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
64cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_decodeLjava_lang_String2() {
65cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.Short
66cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // java.lang.Short.decode(java.lang.String)
67cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Did not decode -1 correctly", Short.decode("-1")
68cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue() == (short) -1);
69cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Did not decode -100 correctly", Short.decode("-100")
70cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue() == (short) -100);
71cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Did not decode 23 correctly", Short.decode("23")
72cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue() == (short) 23);
73cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Did not decode 0x10 correctly", Short.decode("0x10")
74cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue() == (short) 16);
75cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Did not decode 32767 correctly", Short.decode("32767")
76cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue() == (short) 32767);
77cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Did not decode -32767 correctly", Short.decode("-32767")
78cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue() == (short) -32767);
79cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Did not decode -32768 correctly", Short.decode("-32768")
80cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue() == (short) -32768);
81cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
82cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        boolean exception = false;
83cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
84cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.decode("123s");
85cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
86cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // correct
87cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
88cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
89cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Did not throw NumberFormatException decoding 123s",
90cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                exception);
91cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
92cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
93cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
94cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.decode("32768");
95cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
96cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
97cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
98cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
99cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.decode("-32769");
104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.decode("0x8000");
113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for hex MAX_VALUE + 1", exception);
118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.decode("-0x8001");
122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for hex MIN_VALUE - 1", exception);
127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#parseShort(java.lang.String)
131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_parseShortLjava_lang_String2() {
133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method short java.lang.Short.parseShort(java.lang.String)
134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        short sp = Short.parseShort("32746");
135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        short sn = Short.parseShort("-32746");
136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Incorrect parse of short", sp == (short) 32746
138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                && (sn == (short) -32746));
139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value for 0", 0, Short.parseShort("0"));
140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value for most negative value", Short
141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .parseShort("-32768") == (short) 0x8000);
142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value for most positive value", Short
143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .parseShort("32767") == 0x7fff);
144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        boolean exception = false;
146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort("32768");
148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort("-32769");
157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#parseShort(java.lang.String, int)
166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_parseShortLjava_lang_StringI2() {
168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method short java.lang.Short.parseShort(java.lang.String,
169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // int)
170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        boolean aThrow = true;
171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrectly parsed hex string",
172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                255, Short.parseShort("FF", 16));
173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrectly parsed oct string",
174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                16, Short.parseShort("20", 8));
175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrectly parsed dec string",
176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                20, Short.parseShort("20", 10));
177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrectly parsed bin string",
178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                4, Short.parseShort("100", 2));
179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrectly parsed -hex string", -255, Short
180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .parseShort("-FF", 16));
181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrectly parsed -oct string",
182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                -16, Short.parseShort("-20", 8));
183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrectly parsed -bin string", -4, Short
184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .parseShort("-100", 2));
185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value for 0 hex", 0, Short.parseShort("0",
186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                16));
187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value for most negative value hex",
188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Short.parseShort("-8000", 16) == (short) 0x8000);
189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value for most positive value hex",
190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Short.parseShort("7fff", 16) == 0x7fff);
191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect value for 0 decimal", 0, Short.parseShort(
192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "0", 10));
193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value for most negative value decimal",
194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Short.parseShort("-32768", 10) == (short) 0x8000);
195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Returned incorrect value for most positive value decimal",
196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                Short.parseShort("32767", 10) == 0x7fff);
197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort("FF", 2);
200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            aThrow = false;
203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        if (aThrow) {
205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail(
206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                    "Failed to throw exception when passed hex string and base 2 radix");
207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        boolean exception = false;
210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort("10000000000", 10);
212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue(
217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "Failed to throw exception when passed string larger than 16 bits",
218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                exception);
219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort("32768", 10);
223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for MAX_VALUE + 1", exception);
228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort("-32769", 10);
232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for MIN_VALUE - 1", exception);
237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort("8000", 16);
241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for hex MAX_VALUE + 1", exception);
246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        exception = false;
248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort("-8001", 16);
250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            exception = true;
253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to throw exception for hex MIN_VALUE + 1", exception);
255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#toString()
259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_toString2() {
261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.String java.lang.Short.toString()
262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Invalid string returned", sp.toString().equals("18000")
263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                && (sn.toString().equals("-19000")));
264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect string", "32767", new Short((short) 32767)
265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .toString());
266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect string", "-32767", new Short((short) -32767)
267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .toString());
268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect string", "-32768", new Short((short) -32768)
269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .toString());
270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#toString(short)
274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_toStringS2() {
276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.String java.lang.Short.toString(short)
277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect string", "32767", Short.toString((short) 32767)
278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        );
279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect string", "-32767", Short.toString((short) -32767)
280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        );
281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect string", "-32768", Short.toString((short) -32768)
282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        );
283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#valueOf(java.lang.String)
287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_valueOfLjava_lang_String2() {
289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.Short
290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // java.lang.Short.valueOf(java.lang.String)
291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect short", -32768, Short.valueOf("-32768")
292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue());
293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect short", 32767, Short.valueOf("32767")
294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue());
295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#valueOf(java.lang.String, int)
299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_valueOfLjava_lang_StringI2() {
301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Test for method java.lang.Short
302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // java.lang.Short.valueOf(java.lang.String, int)
303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        boolean aThrow = true;
304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrectly parsed hex string", 255, Short.valueOf("FF", 16)
305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue());
306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrectly parsed oct string", 16, Short.valueOf("20", 8)
307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue());
308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrectly parsed dec string", 20, Short.valueOf("20", 10)
309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue());
310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrectly parsed bin string", 4, Short.valueOf("100", 2)
311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue());
312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrectly parsed -hex string", -255, Short.valueOf("-FF", 16)
313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue());
314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrectly parsed -oct string", -16, Short.valueOf("-20", 8)
315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue());
316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrectly parsed -bin string", -4, Short.valueOf("-100", 2)
317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue());
318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Did not decode 32767 correctly", Short.valueOf("32767", 10)
319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .shortValue() == (short) 32767);
320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Did not decode -32767 correctly", Short.valueOf("-32767",
321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                10).shortValue() == (short) -32767);
322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Did not decode -32768 correctly", Short.valueOf("-32768",
323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                10).shortValue() == (short) -32768);
324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.valueOf("FF", 2);
326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            aThrow = false;
329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        if (aThrow) {
331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail(
332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                    "Failed to throw exception when passed hex string and base 2 radix");
333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.valueOf("10000000000", 10);
336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Correct
338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            return;
339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        fail(
341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "Failed to throw exception when passed string larger than 16 bits");
342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#valueOf(byte)
346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_valueOfS() {
348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short(Short.MIN_VALUE), Short.valueOf(Short.MIN_VALUE));
349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short(Short.MAX_VALUE), Short.valueOf(Short.MAX_VALUE));
350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 0), Short.valueOf((short) 0));
351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        short s = -128;
353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        while (s < 128) {
354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            assertEquals(new Short(s), Short.valueOf(s));
355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            assertSame(Short.valueOf(s), Short.valueOf(s));
356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            s++;
357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#hashCode()
362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_hashCode() {
364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, new Short((short) 1).hashCode());
365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(2, new Short((short) 2).hashCode());
366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, new Short((short) 0).hashCode());
367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1, new Short((short) -1).hashCode());
368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#Short(String)
372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_ConstructorLjava_lang_String() {
374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 0), new Short("0"));
375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 1), new Short("1"));
376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) -1), new Short("-1"));
377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            new Short("0x1");
380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with hex string.");
381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            new Short("9.2");
386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with floating point string.");
387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            new Short("");
392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with empty string.");
393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            new Short(null);
398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with null string.");
399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#Short(short)
405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_ConstructorS() {
407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, new Short((short) 1).shortValue());
408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(2, new Short((short) 2).shortValue());
409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, new Short((short) 0).shortValue());
410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1, new Short((short) -1).shortValue());
411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#byteValue()
415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_booleanValue() {
417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, new Short((short) 1).byteValue());
418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(2, new Short((short) 2).byteValue());
419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, new Short((short) 0).byteValue());
420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1, new Short((short) -1).byteValue());
421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#equals(Object)
425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_equalsLjava_lang_Object() {
427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 0), Short.valueOf((short) 0));
428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 1), Short.valueOf((short) 1));
429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) -1), Short.valueOf((short) -1));
430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        Short fixture = new Short((short) 25);
432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(fixture, fixture);
433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertFalse(fixture.equals(null));
434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertFalse(fixture.equals("Not a Short"));
435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#toString()
439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_toString() {
441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("-1", new Short((short) -1).toString());
442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("0", new Short((short) 0).toString());
443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("1", new Short((short) 1).toString());
444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("-1", new Short((short) 0xFFFF).toString());
445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#toString(short)
449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_toStringS() {
451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("-1", Short.toString((short) -1));
452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("0", Short.toString((short) 0));
453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("1", Short.toString((short) 1));
454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("-1", Short.toString((short) 0xFFFF));
455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#valueOf(String)
459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_valueOfLjava_lang_String() {
461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 0), Short.valueOf("0"));
462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 1), Short.valueOf("1"));
463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) -1), Short.valueOf("-1"));
464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.valueOf("0x1");
467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with hex string.");
468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.valueOf("9.2");
473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with floating point string.");
474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.valueOf("");
479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with empty string.");
480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.valueOf(null);
485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with null string.");
486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#valueOf(String, int)
492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_valueOfLjava_lang_StringI() {
494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 0), Short.valueOf("0", 10));
495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 1), Short.valueOf("1", 10));
496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) -1), Short.valueOf("-1", 10));
497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        //must be consistent with Character.digit()
499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(Character.digit('1', 2), Short.valueOf("1", 2).byteValue());
500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(Character.digit('F', 16), Short.valueOf("F", 16).byteValue());
501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.valueOf("0x1", 10);
504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with hex string.");
505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.valueOf("9.2", 10);
510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with floating point string.");
511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.valueOf("", 10);
516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with empty string.");
517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.valueOf(null, 10);
522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with null string.");
523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#parseShort(String)
529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_parseShortLjava_lang_String() {
531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Short.parseShort("0"));
532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, Short.parseShort("1"));
533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1, Short.parseShort("-1"));
534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort("0x1");
537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with hex string.");
538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort("9.2");
543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with floating point string.");
544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort("");
549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with empty string.");
550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort(null);
555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with null string.");
556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#parseShort(String, int)
562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_parseShortLjava_lang_StringI() {
564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, Short.parseShort("0", 10));
565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, Short.parseShort("1", 10));
566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1, Short.parseShort("-1", 10));
567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        //must be consistent with Character.digit()
569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(Character.digit('1', 2), Short.parseShort("1", 2));
570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(Character.digit('F', 16), Short.parseShort("F", 16));
571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort("0x1", 10);
574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with hex string.");
575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort("9.2", 10);
580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with floating point string.");
581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort("", 10);
586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with empty string.");
587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.parseShort(null, 10);
592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with null string.");
593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#decode(String)
599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_decodeLjava_lang_String() {
601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 0), Short.decode("0"));
602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 1), Short.decode("1"));
603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) -1), Short.decode("-1"));
604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 0xF), Short.decode("0xF"));
605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 0xF), Short.decode("#F"));
606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 0xF), Short.decode("0XF"));
607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(new Short((short) 07), Short.decode("07"));
608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.decode("9.2");
611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with floating point string.");
612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.decode("");
617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NumberFormatException with empty string.");
618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NumberFormatException e) {
619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            Short.decode(null);
623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            //undocumented NPE, but seems consistent across JREs
624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("Expected NullPointerException with null string.");
625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NullPointerException e) {
626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#doubleValue()
631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_doubleValue() {
633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1D, new Short((short) -1).doubleValue(), 0D);
634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0D, new Short((short) 0).doubleValue(), 0D);
635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1D, new Short((short) 1).doubleValue(), 0D);
636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#floatValue()
640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_floatValue() {
642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1F, new Short((short) -1).floatValue(), 0F);
643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0F, new Short((short) 0).floatValue(), 0F);
644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1F, new Short((short) 1).floatValue(), 0F);
645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#intValue()
649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_intValue() {
651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1, new Short((short) -1).intValue());
652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, new Short((short) 0).intValue());
653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, new Short((short) 1).intValue());
654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#longValue()
658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_longValue() {
660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1L, new Short((short) -1).longValue());
661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0L, new Short((short) 0).longValue());
662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1L, new Short((short) 1).longValue());
663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#shortValue()
667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_shortValue() {
669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(-1, new Short((short) -1).shortValue());
670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(0, new Short((short) 0).shortValue());
671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(1, new Short((short) 1).shortValue());
672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.lang.Short#reverseBytes(short)
676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_reverseBytesS() {
678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals((short) 0xABCD, Short.reverseBytes((short) 0xCDAB));
679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals((short) 0x1234, Short.reverseBytes((short) 0x3412));
680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals((short) 0x0011, Short.reverseBytes((short) 0x1100));
681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals((short) 0x2002, Short.reverseBytes((short) 0x0220));
682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath}
685