1c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes/* 2c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes * Copyright (C) 2011 The Android Open Source Project 3c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes * 4c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes * Licensed under the Apache License, Version 2.0 (the "License"); 5c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes * you may not use this file except in compliance with the License. 6c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes * You may obtain a copy of the License at 7c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes * 8c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 9c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes * 10c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes * Unless required by applicable law or agreed to in writing, software 11c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 12c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes * See the License for the specific language governing permissions and 14c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes * limitations under the License. 15c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes */ 16c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes 17c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughespackage libcore.java.lang; 18c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes 19c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughespublic class ByteTest extends junit.framework.TestCase { 20c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes public void test_compare() throws Exception { 21c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes final byte min = Byte.MIN_VALUE; 22c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes final byte zero = (byte) 0; 23c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes final byte max = Byte.MAX_VALUE; 24c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes assertTrue(Byte.compare(max, max) == 0); 25c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes assertTrue(Byte.compare(min, min) == 0); 26c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes assertTrue(Byte.compare(zero, zero) == 0); 27c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes assertTrue(Byte.compare(max, zero) > 0); 28c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes assertTrue(Byte.compare(max, min) > 0); 29c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes assertTrue(Byte.compare(zero, max) < 0); 30c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes assertTrue(Byte.compare(zero, min) > 0); 31c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes assertTrue(Byte.compare(min, zero) < 0); 32c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes assertTrue(Byte.compare(min, max) < 0); 33c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes } 34cf86f3319e738c76c5e97ad95bb8a4e30654a787Yi Kong 35cf86f3319e738c76c5e97ad95bb8a4e30654a787Yi Kong public void testStaticHashCode() { 36cf86f3319e738c76c5e97ad95bb8a4e30654a787Yi Kong assertEquals(new Byte((byte) 567).hashCode(), Byte.hashCode((byte) 567)); 37cf86f3319e738c76c5e97ad95bb8a4e30654a787Yi Kong } 38cf86f3319e738c76c5e97ad95bb8a4e30654a787Yi Kong 39cf86f3319e738c76c5e97ad95bb8a4e30654a787Yi Kong public void testBYTES() { 40cf86f3319e738c76c5e97ad95bb8a4e30654a787Yi Kong assertEquals(1, Byte.BYTES); 41cf86f3319e738c76c5e97ad95bb8a4e30654a787Yi Kong } 42e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong 43e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong public void testToUnsignedInt() { 44e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong for(int i = Byte.MIN_VALUE; i < Byte.MAX_VALUE; i++) { 45e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong final byte b = (byte) i; 46e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong final int ui = Byte.toUnsignedInt(b); 47e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong assertEquals(0, ui >>> Byte.BYTES * 8); 48e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong assertEquals(b, Integer.valueOf(b).byteValue()); 49e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong } 50e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong } 51e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong 52e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong public void testToUnsignedLong() { 53e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong for(int i = Byte.MIN_VALUE; i < Byte.MAX_VALUE; i++) { 54e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong final byte b = (byte) i; 55e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong final long ul = Byte.toUnsignedLong(b); 56e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong assertEquals(0, ul >>> Byte.BYTES * 8); 57e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong assertEquals(b, Long.valueOf(b).byteValue()); 58e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong } 59e2f147b9b14c7645f29e92758f811a18258feef4Yi Kong } 60c3adcfb1339de546aed6e7ff00a7edb020b8a85bElliott Hughes} 61