diff options
Diffstat (limited to 'harmony-tests/src/test/java/org/apache/harmony/tests/java/lang/ByteTest.java')
-rw-r--r-- | harmony-tests/src/test/java/org/apache/harmony/tests/java/lang/ByteTest.java | 672 |
1 files changed, 672 insertions, 0 deletions
diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/java/lang/ByteTest.java b/harmony-tests/src/test/java/org/apache/harmony/tests/java/lang/ByteTest.java new file mode 100644 index 0000000..bbff653 --- /dev/null +++ b/harmony-tests/src/test/java/org/apache/harmony/tests/java/lang/ByteTest.java @@ -0,0 +1,672 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.harmony.tests.java.lang; + +import junit.framework.TestCase; + +public class ByteTest extends TestCase { + + /** + * java.lang.Byte#valueOf(byte) + */ + public void test_valueOfB() { + assertEquals(new Byte(Byte.MIN_VALUE), Byte.valueOf(Byte.MIN_VALUE)); + assertEquals(new Byte(Byte.MAX_VALUE), Byte.valueOf(Byte.MAX_VALUE)); + assertEquals(new Byte((byte) 0), Byte.valueOf((byte) 0)); + + byte b = Byte.MIN_VALUE + 1; + while (b < Byte.MAX_VALUE) { + assertEquals(new Byte(b), Byte.valueOf(b)); + assertSame(Byte.valueOf(b), Byte.valueOf(b)); + b++; + } + } + + /** + * java.lang.Byte#hashCode() + */ + public void test_hashCode() { + assertEquals(1, new Byte((byte) 1).hashCode()); + assertEquals(2, new Byte((byte) 2).hashCode()); + assertEquals(0, new Byte((byte) 0).hashCode()); + assertEquals(-1, new Byte((byte) -1).hashCode()); + } + + /** + * java.lang.Byte#Byte(String) + */ + public void test_ConstructorLjava_lang_String() { + assertEquals(new Byte((byte) 0), new Byte("0")); + assertEquals(new Byte((byte) 1), new Byte("1")); + assertEquals(new Byte((byte) -1), new Byte("-1")); + + try { + new Byte("0x1"); + fail("Expected NumberFormatException with hex string."); + } catch (NumberFormatException e) { + } + + try { + new Byte("9.2"); + fail("Expected NumberFormatException with floating point string."); + } catch (NumberFormatException e) { + } + + try { + new Byte(""); + fail("Expected NumberFormatException with empty string."); + } catch (NumberFormatException e) { + } + + try { + new Byte(null); + fail("Expected NumberFormatException with null string."); + } catch (NumberFormatException e) { + } + } + + /** + * java.lang.Byte#Byte(byte) + */ + public void test_ConstructorB() { + assertEquals(1, new Byte((byte) 1).byteValue()); + assertEquals(2, new Byte((byte) 2).byteValue()); + assertEquals(0, new Byte((byte) 0).byteValue()); + assertEquals(-1, new Byte((byte) -1).byteValue()); + } + + /** + * java.lang.Byte#byteValue() + */ + public void test_booleanValue() { + assertEquals(1, new Byte((byte) 1).byteValue()); + assertEquals(2, new Byte((byte) 2).byteValue()); + assertEquals(0, new Byte((byte) 0).byteValue()); + assertEquals(-1, new Byte((byte) -1).byteValue()); + } + + /** + * java.lang.Byte#equals(Object) + */ + public void test_equalsLjava_lang_Object() { + assertEquals(new Byte((byte) 0), Byte.valueOf((byte) 0)); + assertEquals(new Byte((byte) 1), Byte.valueOf((byte) 1)); + assertEquals(new Byte((byte) -1), Byte.valueOf((byte) -1)); + + Byte fixture = new Byte((byte) 25); + assertEquals(fixture, fixture); + assertFalse(fixture.equals(null)); + assertFalse(fixture.equals("Not a Byte")); + } + + /** + * java.lang.Byte#toString() + */ + public void test_toString() { + assertEquals("-1", new Byte((byte) -1).toString()); + assertEquals("0", new Byte((byte) 0).toString()); + assertEquals("1", new Byte((byte) 1).toString()); + assertEquals("-1", new Byte((byte) 0xFF).toString()); + } + + /** + * java.lang.Byte#toString(byte) + */ + public void test_toStringB() { + assertEquals("-1", Byte.toString((byte) -1)); + assertEquals("0", Byte.toString((byte) 0)); + assertEquals("1", Byte.toString((byte) 1)); + assertEquals("-1", Byte.toString((byte) 0xFF)); + } + + /** + * java.lang.Byte#valueOf(String) + */ + public void test_valueOfLjava_lang_String() { + assertEquals(new Byte((byte) 0), Byte.valueOf("0")); + assertEquals(new Byte((byte) 1), Byte.valueOf("1")); + assertEquals(new Byte((byte) -1), Byte.valueOf("-1")); + + try { + Byte.valueOf("0x1"); + fail("Expected NumberFormatException with hex string."); + } catch (NumberFormatException e) { + } + + try { + Byte.valueOf("9.2"); + fail("Expected NumberFormatException with floating point string."); + } catch (NumberFormatException e) { + } + + try { + Byte.valueOf(""); + fail("Expected NumberFormatException with empty string."); + } catch (NumberFormatException e) { + } + + try { + Byte.valueOf(null); + fail("Expected NumberFormatException with null string."); + } catch (NumberFormatException e) { + } + } + + /** + * java.lang.Byte#valueOf(String, int) + */ + public void test_valueOfLjava_lang_StringI() { + assertEquals(new Byte((byte) 0), Byte.valueOf("0", 10)); + assertEquals(new Byte((byte) 1), Byte.valueOf("1", 10)); + assertEquals(new Byte((byte) -1), Byte.valueOf("-1", 10)); + + //must be consistent with Character.digit() + assertEquals(Character.digit('1', 2), Byte.valueOf("1", 2).byteValue()); + assertEquals(Character.digit('F', 16), Byte.valueOf("F", 16).byteValue()); + + try { + Byte.valueOf("0x1", 10); + fail("Expected NumberFormatException with hex string."); + } catch (NumberFormatException e) { + } + + try { + Byte.valueOf("9.2", 10); + fail("Expected NumberFormatException with floating point string."); + } catch (NumberFormatException e) { + } + + try { + Byte.valueOf("", 10); + fail("Expected NumberFormatException with empty string."); + } catch (NumberFormatException e) { + } + + try { + Byte.valueOf(null, 10); + fail("Expected NumberFormatException with null string."); + } catch (NumberFormatException e) { + } + } + + /** + * java.lang.Byte#parseByte(String) + */ + public void test_parseByteLjava_lang_String() { + assertEquals(0, Byte.parseByte("0")); + assertEquals(1, Byte.parseByte("1")); + assertEquals(-1, Byte.parseByte("-1")); + + try { + Byte.parseByte("0x1"); + fail("Expected NumberFormatException with hex string."); + } catch (NumberFormatException e) { + } + + try { + Byte.parseByte("9.2"); + fail("Expected NumberFormatException with floating point string."); + } catch (NumberFormatException e) { + } + + try { + Byte.parseByte(""); + fail("Expected NumberFormatException with empty string."); + } catch (NumberFormatException e) { + } + + try { + Byte.parseByte(null); + fail("Expected NumberFormatException with null string."); + } catch (NumberFormatException e) { + } + } + + /** + * java.lang.Byte#parseByte(String, int) + */ + public void test_parseByteLjava_lang_StringI() { + assertEquals(0, Byte.parseByte("0", 10)); + assertEquals(1, Byte.parseByte("1", 10)); + assertEquals(-1, Byte.parseByte("-1", 10)); + + //must be consistent with Character.digit() + assertEquals(Character.digit('1', 2), Byte.parseByte("1", 2)); + assertEquals(Character.digit('F', 16), Byte.parseByte("F", 16)); + + try { + Byte.parseByte("0x1", 10); + fail("Expected NumberFormatException with hex string."); + } catch (NumberFormatException e) { + } + + try { + Byte.parseByte("9.2", 10); + fail("Expected NumberFormatException with floating point string."); + } catch (NumberFormatException e) { + } + + try { + Byte.parseByte("", 10); + fail("Expected NumberFormatException with empty string."); + } catch (NumberFormatException e) { + } + + try { + Byte.parseByte(null, 10); + fail("Expected NumberFormatException with null string."); + } catch (NumberFormatException e) { + } + } + + /** + * java.lang.Byte#decode(String) + */ + public void test_decodeLjava_lang_String() { + assertEquals(new Byte((byte) 0), Byte.decode("0")); + assertEquals(new Byte((byte) 1), Byte.decode("1")); + assertEquals(new Byte((byte) -1), Byte.decode("-1")); + assertEquals(new Byte((byte) 0xF), Byte.decode("0xF")); + assertEquals(new Byte((byte) 0xF), Byte.decode("#F")); + assertEquals(new Byte((byte) 0xF), Byte.decode("0XF")); + assertEquals(new Byte((byte) 07), Byte.decode("07")); + + try { + Byte.decode("9.2"); + fail("Expected NumberFormatException with floating point string."); + } catch (NumberFormatException e) { + } + + try { + Byte.decode(""); + fail("Expected NumberFormatException with empty string."); + } catch (NumberFormatException e) { + } + + try { + Byte.decode(null); + //undocumented NPE, but seems consistent across JREs + fail("Expected NullPointerException with null string."); + } catch (NullPointerException e) { + } + } + + /** + * java.lang.Byte#doubleValue() + */ + public void test_doubleValue() { + assertEquals(-1D, new Byte((byte) -1).doubleValue(), 0D); + assertEquals(0D, new Byte((byte) 0).doubleValue(), 0D); + assertEquals(1D, new Byte((byte) 1).doubleValue(), 0D); + } + + /** + * java.lang.Byte#floatValue() + */ + public void test_floatValue() { + assertEquals(-1F, new Byte((byte) -1).floatValue(), 0F); + assertEquals(0F, new Byte((byte) 0).floatValue(), 0F); + assertEquals(1F, new Byte((byte) 1).floatValue(), 0F); + } + + /** + * java.lang.Byte#intValue() + */ + public void test_intValue() { + assertEquals(-1, new Byte((byte) -1).intValue()); + assertEquals(0, new Byte((byte) 0).intValue()); + assertEquals(1, new Byte((byte) 1).intValue()); + } + + /** + * java.lang.Byte#longValue() + */ + public void test_longValue() { + assertEquals(-1L, new Byte((byte) -1).longValue()); + assertEquals(0L, new Byte((byte) 0).longValue()); + assertEquals(1L, new Byte((byte) 1).longValue()); + } + + /** + * java.lang.Byte#shortValue() + */ + public void test_shortValue() { + assertEquals(-1, new Byte((byte) -1).shortValue()); + assertEquals(0, new Byte((byte) 0).shortValue()); + assertEquals(1, new Byte((byte) 1).shortValue()); + } + + /** + * java.lang.Byte#compareTo(Byte) + */ + public void test_compareToLjava_lang_Byte() { + final Byte min = new Byte(Byte.MIN_VALUE); + final Byte zero = new Byte((byte) 0); + final Byte max = new Byte(Byte.MAX_VALUE); + + assertTrue(max.compareTo(max) == 0); + assertTrue(min.compareTo(min) == 0); + assertTrue(zero.compareTo(zero) == 0); + + assertTrue(max.compareTo(zero) > 0); + assertTrue(max.compareTo(min) > 0); + + assertTrue(zero.compareTo(max) < 0); + assertTrue(zero.compareTo(min) > 0); + + assertTrue(min.compareTo(zero) < 0); + assertTrue(min.compareTo(max) < 0); + + try { + min.compareTo(null); + fail("No NPE"); + } catch (NullPointerException e) { + } + } + + /** + * java.lang.Byte#Byte(byte) + */ + public void test_ConstructorB2() { + // Test for method java.lang.Byte(byte) + + Byte b = new Byte((byte) 127); + assertTrue("Byte creation failed", b.byteValue() == (byte) 127); + } + + /** + * java.lang.Byte#Byte(java.lang.String) + */ + public void test_ConstructorLjava_lang_String2() { + // Test for method java.lang.Byte(java.lang.String) + + Byte b = new Byte("127"); + Byte nb = new Byte("-128"); + assertTrue("Incorrect Byte Object created", b.byteValue() == (byte) 127 + && (nb.byteValue() == (byte) -128)); + + } + + /** + * java.lang.Byte#byteValue() + */ + public void test_byteValue() { + // Test for method byte java.lang.Byte.byteValue() + assertTrue("Returned incorrect byte value", + new Byte((byte) 127).byteValue() == (byte) (127)); + } + + /** + * java.lang.Byte#compareTo(java.lang.Byte) + */ + public void test_compareToLjava_lang_Byte2() { + // Test for method int java.lang.Byte.compareTo(java.lang.Byte) + assertTrue("Comparison failed", new Byte((byte) 1).compareTo(new Byte((byte) 2)) < 0); + assertTrue("Comparison failed", new Byte((byte) 1).compareTo(new Byte((byte) -2)) > 0); + assertEquals("Comparison failed", 0, new Byte((byte) 1).compareTo(new Byte((byte) 1))); + } + + /** + * java.lang.Byte#decode(java.lang.String) + */ + public void test_decodeLjava_lang_String2() { + // Test for method java.lang.Byte + // java.lang.Byte.decode(java.lang.String) + assertTrue("String decoded incorrectly, wanted: 1 got: " + Byte.decode("1").toString(), + Byte.decode("1").equals(new Byte((byte) 1))); + assertTrue("String decoded incorrectly, wanted: -1 got: " + + Byte.decode("-1").toString(), Byte.decode("-1").equals(new Byte((byte) -1))); + assertTrue("String decoded incorrectly, wanted: 127 got: " + + Byte.decode("127").toString(), Byte.decode("127") + .equals(new Byte((byte) 127))); + assertTrue("String decoded incorrectly, wanted: -128 got: " + + Byte.decode("-128").toString(), Byte.decode("-128").equals( + new Byte((byte) -128))); + assertTrue("String decoded incorrectly, wanted: 127 got: " + + Byte.decode("0x7f").toString(), Byte.decode("0x7f").equals( + new Byte((byte) 127))); + assertTrue("String decoded incorrectly, wanted: -128 got: " + + Byte.decode("-0x80").toString(), Byte.decode("-0x80").equals( + new Byte((byte) -128))); + + boolean exception = false; + try { + Byte.decode("128"); + } catch (NumberFormatException e) { + // Correct + exception = true; + } + assertTrue("Failed to throw exception for MAX_VALUE + 1", exception); + + exception = false; + try { + Byte.decode("-129"); + } catch (NumberFormatException e) { + // Correct + exception = true; + } + assertTrue("Failed to throw exception for MIN_VALUE - 1", exception); + + exception = false; + try { + Byte.decode("0x80"); + } catch (NumberFormatException e) { + // Correct + exception = true; + } + assertTrue("Failed to throw exception for hex MAX_VALUE + 1", exception); + + exception = false; + try { + Byte.decode("-0x81"); + } catch (NumberFormatException e) { + // Correct + exception = true; + } + assertTrue("Failed to throw exception for hex MIN_VALUE - 1", exception); + } + + /** + * java.lang.Byte#doubleValue() + */ + public void test_doubleValue2() { + assertEquals(127D, new Byte((byte) 127).doubleValue(), 0.0); + } + + /** + * java.lang.Byte#equals(java.lang.Object) + */ + public void test_equalsLjava_lang_Object2() { + // Test for method boolean java.lang.Byte.equals(java.lang.Object) + Byte b1 = new Byte((byte) 90); + Byte b2 = new Byte((byte) 90); + Byte b3 = new Byte((byte) -90); + assertTrue("Equality test failed", b1.equals(b2)); + assertTrue("Equality test failed", !b1.equals(b3)); + } + + /** + * java.lang.Byte#floatValue() + */ + public void test_floatValue2() { + assertEquals(127F, new Byte((byte) 127).floatValue(), 0.0); + } + + /** + * java.lang.Byte#hashCode() + */ + public void test_hashCode2() { + // Test for method int java.lang.Byte.hashCode() + assertEquals("Incorrect hash returned", 127, new Byte((byte) 127).hashCode()); + } + + /** + * java.lang.Byte#intValue() + */ + public void test_intValue2() { + // Test for method int java.lang.Byte.intValue() + assertEquals("Returned incorrect int value", 127, new Byte((byte) 127).intValue()); + } + + /** + * java.lang.Byte#longValue() + */ + public void test_longValue2() { + // Test for method long java.lang.Byte.longValue() + assertEquals("Returned incorrect long value", 127L, new Byte((byte) 127).longValue()); + } + + /** + * java.lang.Byte#parseByte(java.lang.String) + */ + public void test_parseByteLjava_lang_String2() { + assertEquals((byte) 127, Byte.parseByte("127")); + assertEquals((byte) -128, Byte.parseByte("-128")); + assertEquals((byte) 0, Byte.parseByte("0")); + assertEquals((byte) 0x80, Byte.parseByte("-128")); + assertEquals((byte) 0x7F, Byte.parseByte("127")); + + try { + Byte.parseByte("-1000"); + fail("No NumberFormatException"); + } catch (NumberFormatException e) { + } + + try { + Byte.parseByte("128"); + fail("No NumberFormatException"); + } catch (NumberFormatException e) { + } + + try { + Byte.parseByte("-129"); + fail("No NumberFormatException"); + } catch (NumberFormatException e) { + } + } + + /** + * java.lang.Byte#parseByte(java.lang.String, int) + */ + public void test_parseByteLjava_lang_StringI2() { + // Test for method byte java.lang.Byte.parseByte(java.lang.String, int) + byte b = Byte.parseByte("127", 10); + byte bn = Byte.parseByte("-128", 10); + assertTrue("Invalid parse of dec byte", b == (byte) 127 && (bn == (byte) -128)); + assertEquals("Failed to parse hex value", 10, Byte.parseByte("A", 16)); + assertEquals("Returned incorrect value for 0 hex", 0, Byte.parseByte("0", 16)); + assertTrue("Returned incorrect value for most negative value hex", Byte.parseByte( + "-80", 16) == (byte) 0x80); + assertTrue("Returned incorrect value for most positive value hex", Byte.parseByte("7f", + 16) == 0x7f); + assertEquals("Returned incorrect value for 0 decimal", 0, Byte.parseByte("0", 10)); + assertTrue("Returned incorrect value for most negative value decimal", Byte.parseByte( + "-128", 10) == (byte) 0x80); + assertTrue("Returned incorrect value for most positive value decimal", Byte.parseByte( + "127", 10) == 0x7f); + + try { + Byte.parseByte("-1000", 10); + fail("Failed to throw exception"); + } catch (NumberFormatException e) { + } + + try { + Byte.parseByte("128", 10); + fail("Failed to throw exception for MAX_VALUE + 1"); + } catch (NumberFormatException e) { + } + + try { + Byte.parseByte("-129", 10); + fail("Failed to throw exception for MIN_VALUE - 1"); + } catch (NumberFormatException e) { + } + + try { + Byte.parseByte("80", 16); + fail("Failed to throw exception for hex MAX_VALUE + 1"); + } catch (NumberFormatException e) { + } + + try { + Byte.parseByte("-81", 16); + fail("Failed to throw exception for hex MIN_VALUE + 1"); + } catch (NumberFormatException e) { + } + } + + /** + * java.lang.Byte#shortValue() + */ + public void test_shortValue2() { + assertEquals((short) 127, new Byte((byte) 127).shortValue()); + } + + /** + * java.lang.Byte#toString() + */ + public void test_toString2() { + assertEquals("Returned incorrect String", "127", new Byte((byte) 127).toString()); + assertEquals("Returned incorrect String", "-127", new Byte((byte) -127).toString()); + assertEquals("Returned incorrect String", "-128", new Byte((byte) -128).toString()); + } + + /** + * java.lang.Byte#toString(byte) + */ + public void test_toStringB2() { + assertEquals("Returned incorrect String", "127", Byte.toString((byte) 127)); + assertEquals("Returned incorrect String", "-127", Byte.toString((byte) -127)); + assertEquals("Returned incorrect String", "-128", Byte.toString((byte) -128)); + } + + /** + * java.lang.Byte#valueOf(java.lang.String) + */ + public void test_valueOfLjava_lang_String2() { + assertEquals("Returned incorrect byte", 0, Byte.valueOf("0").byteValue()); + assertEquals("Returned incorrect byte", 127, Byte.valueOf("127").byteValue()); + assertEquals("Returned incorrect byte", -127, Byte.valueOf("-127").byteValue()); + assertEquals("Returned incorrect byte", -128, Byte.valueOf("-128").byteValue()); + + try { + Byte.valueOf("128"); + fail("Failed to throw exception when passes value > byte"); + } catch (NumberFormatException e) { + } + } + + /** + * java.lang.Byte#valueOf(java.lang.String, int) + */ + public void test_valueOfLjava_lang_StringI2() { + assertEquals("Returned incorrect byte", 10, Byte.valueOf("A", 16).byteValue()); + assertEquals("Returned incorrect byte", 127, Byte.valueOf("127", 10).byteValue()); + assertEquals("Returned incorrect byte", -127, Byte.valueOf("-127", 10).byteValue()); + assertEquals("Returned incorrect byte", -128, Byte.valueOf("-128", 10).byteValue()); + assertEquals("Returned incorrect byte", 127, Byte.valueOf("7f", 16).byteValue()); + assertEquals("Returned incorrect byte", -127, Byte.valueOf("-7f", 16).byteValue()); + assertEquals("Returned incorrect byte", -128, Byte.valueOf("-80", 16).byteValue()); + + try { + Byte.valueOf("128", 10); + fail("Failed to throw exception when passes value > byte"); + } catch (NumberFormatException e) { + } + } +} |