1dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes/* 2dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 3dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * contributor license agreements. See the NOTICE file distributed with 4dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * this work for additional information regarding copyright ownership. 5dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 6dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * (the "License"); you may not use this file except in compliance with 7dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * the License. You may obtain a copy of the License at 8dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * 9dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 10dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * 11dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * Unless required by applicable law or agreed to in writing, software 12dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 13dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * See the License for the specific language governing permissions and 15dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * limitations under the License. 16dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes */ 17dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 18e5fea3d504609d22337a5311d3ce0e72314bceeeNarayan Kamathpackage org.apache.harmony.tests.java.nio; 19dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 20dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughesimport java.nio.BufferOverflowException; 21dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughesimport java.nio.BufferUnderflowException; 22dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughesimport java.nio.ByteOrder; 23dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughesimport java.nio.InvalidMarkException; 24dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughesimport java.nio.ShortBuffer; 25dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 26dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes/** 27dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * Tests java.nio.ShortBuffer 28dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * 29dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes */ 30dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughespublic class ShortBufferTest extends AbstractBufferTest { 31dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 32dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes protected static final int SMALL_TEST_LENGTH = 5; 33dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 34dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes protected static final int BUFFER_LENGTH = 20; 35dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 36dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes protected ShortBuffer buf; 37dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 38dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes protected void setUp() throws Exception { 39dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf = ShortBuffer.allocate(BUFFER_LENGTH); 40dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData1(buf); 41dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes baseBuf = buf; 42dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 43dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 44dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes protected void tearDown() throws Exception { 45dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf = null; 46dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes baseBuf = null; 47dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 48dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 49dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testArray() { 50dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes short array[] = buf.array(); 51dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 52dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 53dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData1(array, buf.arrayOffset(), buf.capacity()); 54dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 55dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 56dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData2(array, buf.arrayOffset(), buf.capacity()); 57dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 58dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 59dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData1(buf); 60dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 61dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 62dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData2(buf); 63dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 64dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 65dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 66dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testArrayOffset() { 67dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes short array[] = buf.array(); 68dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 69dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 70dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData1(array, buf.arrayOffset(), buf.capacity()); 71dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 72dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 73dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData2(array, buf.arrayOffset(), buf.capacity()); 74dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 75dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 76dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData1(buf); 77dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 78dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 79dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData2(buf); 80dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 81dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 82dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 83dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testAsReadOnlyBuffer() { 84dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 85dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.mark(); 86dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.position(buf.limit()); 87dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 88dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // readonly's contents should be the same as buf 89dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer readonly = buf.asReadOnlyBuffer(); 90dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertNotSame(buf, readonly); 91dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(readonly.isReadOnly()); 92dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), readonly.position()); 93dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.limit(), readonly.limit()); 94dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.isDirect(), readonly.isDirect()); 95dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.order(), readonly.order()); 96dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, readonly); 97dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 98dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // readonly's position, mark, and limit should be independent to buf 99dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes readonly.reset(); 100dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(readonly.position(), 0); 101dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes readonly.clear(); 102dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), buf.limit()); 103dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.reset(); 104dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), 0); 105dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 106dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 107dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testCompact() { 108dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // case: buffer is full 109dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 110dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.mark(); 111dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData1(buf); 112dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer ret = buf.compact(); 113dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertSame(ret, buf); 114dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), buf.capacity()); 115dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.limit(), buf.capacity()); 116dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentLikeTestData1(buf, 0, (short) 0, buf.capacity()); 117dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 118dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.reset(); 119dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 120dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (InvalidMarkException e) { 121dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 122dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 123dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 124dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // case: buffer is empty 125dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.position(0); 126dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.limit(0); 127dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.mark(); 128dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ret = buf.compact(); 129dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertSame(ret, buf); 130dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), 0); 131dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.limit(), buf.capacity()); 132dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentLikeTestData1(buf, 0, (short) 0, buf.capacity()); 133dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 134dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.reset(); 135dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 136dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (InvalidMarkException e) { 137dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 138dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 139dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 140dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // case: normal 141dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(buf.capacity() > 5); 142dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.position(1); 143dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.limit(5); 144dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.mark(); 145dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ret = buf.compact(); 146dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertSame(ret, buf); 147dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), 4); 148dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.limit(), buf.capacity()); 149dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentLikeTestData1(buf, 0, (short) 1, 4); 150dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 151dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.reset(); 152dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 153dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (InvalidMarkException e) { 154dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 155dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 156dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 157dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 158dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testCompareTo() { 159dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // compare to self 160dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(0, buf.compareTo(buf)); 161dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 162dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // normal cases 163dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(buf.capacity() > 5); 164dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 165dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer other = ShortBuffer.allocate(buf.capacity()); 166dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData1(other); 167dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(0, buf.compareTo(other)); 168dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(0, other.compareTo(buf)); 169dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.position(1); 170dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(buf.compareTo(other) > 0); 171dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(other.compareTo(buf) < 0); 172dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes other.position(2); 173dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(buf.compareTo(other) < 0); 174dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(other.compareTo(buf) > 0); 175dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.position(2); 176dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes other.limit(5); 177dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(buf.compareTo(other) > 0); 178dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(other.compareTo(buf) < 0); 179dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 180dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 181dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testDuplicate() { 182dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 183dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.mark(); 184dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.position(buf.limit()); 185dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 186dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // duplicate's contents should be the same as buf 187dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer duplicate = buf.duplicate(); 188dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertNotSame(buf, duplicate); 189dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), duplicate.position()); 190dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.limit(), duplicate.limit()); 191dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.isReadOnly(), duplicate.isReadOnly()); 192dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.isDirect(), duplicate.isDirect()); 193dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.order(), duplicate.order()); 194dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, duplicate); 195dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 196dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // duplicate's position, mark, and limit should be independent to buf 197dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes duplicate.reset(); 198dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(duplicate.position(), 0); 199dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes duplicate.clear(); 200dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), buf.limit()); 201dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.reset(); 202dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), 0); 203dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 204dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // duplicate share the same content with buf 205dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes if (!duplicate.isReadOnly()) { 206dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData1(buf); 207dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, duplicate); 208dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData2(duplicate); 209dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, duplicate); 210dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 211dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 212dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 213dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testEquals() { 214dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // equal to self 215dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(buf.equals(buf)); 216dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer readonly = buf.asReadOnlyBuffer(); 217dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(buf.equals(readonly)); 218dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer duplicate = buf.duplicate(); 219dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(buf.equals(duplicate)); 220dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 221dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // always false, if type mismatch 222dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertFalse(buf.equals(Boolean.TRUE)); 223dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 224dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(buf.capacity() > 5); 225dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 226dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.limit(buf.capacity()).position(0); 227dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes readonly.limit(readonly.capacity()).position(1); 228dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertFalse(buf.equals(readonly)); 229dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 230dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.limit(buf.capacity() - 1).position(0); 231dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes duplicate.limit(duplicate.capacity()).position(0); 232dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertFalse(buf.equals(duplicate)); 233dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 234dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 235dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes /* 236dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * Class under test for short get() 237dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes */ 238dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testGet() { 239dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 240dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes for (int i = 0; i < buf.capacity(); i++) { 241dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), i); 242dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.get(), buf.get(i)); 243dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 244dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 245dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.get(); 246dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 247dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (BufferUnderflowException e) { 248dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 249dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 250dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 251dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 252dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes /* 253dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * Class under test for java.nio.ShortBuffer get(short[]) 254dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes */ 255dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testGetshortArray() { 256dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes short array[] = new short[1]; 257dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 258dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes for (int i = 0; i < buf.capacity(); i++) { 259dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), i); 260dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer ret = buf.get(array); 261dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(array[0], buf.get(i)); 262dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertSame(ret, buf); 263dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 264dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 265dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.get(array); 266dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 267dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (BufferUnderflowException e) { 268dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 269dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 270dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 271dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 272dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes /* 273dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * Class under test for java.nio.ShortBuffer get(short[], int, int) 274dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes */ 275dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testGetshortArrayintint() { 276dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 277dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes short array[] = new short[buf.capacity()]; 278dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 279dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 280dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.get(new short[buf.capacity() + 1], 0, buf.capacity() + 1); 281dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 282dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (BufferUnderflowException e) { 283dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 284dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 285dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), 0); 286dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 287dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.get(array, -1, array.length); 288dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 289dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException e) { 290dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 291dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 292dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.get(array, array.length, 0); 293dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 294dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.get(array, array.length + 1, 1); 295dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 296dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException e) { 297dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 298dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 299dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), 0); 300dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 301dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.get((short[])null, 2, -1); 302dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 303dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (NullPointerException e) { 304dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 305dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 306dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 307dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.get(array, 2, array.length); 308dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 309dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException e) { 310dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 311dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 312dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 313dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.get(array, 1, Integer.MAX_VALUE); 314dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 315dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (BufferUnderflowException expected) { 316dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException expected) { 317dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 318dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 319dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.get(array, Integer.MAX_VALUE, 1); 320dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 321dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException e) { 322dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 323dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 324dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), 0); 325dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 326dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 327dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer ret = buf.get(array, 0, array.length); 328dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), buf.capacity()); 329dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, array, 0, array.length); 330dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertSame(ret, buf); 331dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 332dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 333dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes /* 334dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * Class under test for short get(int) 335dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes */ 336dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testGetint() { 337dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 338dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes for (int i = 0; i < buf.capacity(); i++) { 339dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), i); 340dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.get(), buf.get(i)); 341dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 342dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 343dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.get(-1); 344dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 345dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException e) { 346dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 347dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 348dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 349dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.get(buf.limit()); 350dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 351dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException e) { 352dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 353dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 354dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 355dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 356dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testHasArray() { 357dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertNotNull(buf.array()); 358dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 359dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 360dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testHashCode() { 361dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 362dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer readonly = buf.asReadOnlyBuffer(); 363dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer duplicate = buf.duplicate(); 364dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(buf.hashCode() == readonly.hashCode()); 365dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 366dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(buf.capacity() > 5); 367dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes duplicate.position(buf.capacity() / 2); 368dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(buf.hashCode() != duplicate.hashCode()); 369dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 370dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 371dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testIsDirect() { 372dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertFalse(buf.isDirect()); 373dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 374dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 375dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testOrder() { 376dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.order(); 377dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(ByteOrder.nativeOrder(), buf.order()); 378dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 379dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 380dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes /* 381dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * Class under test for java.nio.ShortBuffer put(short) 382dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes */ 383dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testPutshort() { 384dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 385dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes for (int i = 0; i < buf.capacity(); i++) { 386dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), i); 387dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer ret = buf.put((short) i); 388dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.get(i), (short) i); 389dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertSame(ret, buf); 390dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 391dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 392dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put((short) 0); 393dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 394dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (BufferOverflowException e) { 395dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 396dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 397dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 398dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 399dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes /* 400dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * Class under test for java.nio.ShortBuffer put(short[]) 401dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes */ 402dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testPutshortArray() { 403dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes short array[] = new short[1]; 404dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 405dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes for (int i = 0; i < buf.capacity(); i++) { 406dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), i); 407dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes array[0] = (short) i; 408dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer ret = buf.put(array); 409dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.get(i), (short) i); 410dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertSame(ret, buf); 411dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 412dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 413dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(array); 414dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 415dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (BufferOverflowException e) { 416dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 417dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 418dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 419dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.position(buf.limit()); 420dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put((short[])null); 421dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 422dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (NullPointerException e) { 423dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 424dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 425dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 426dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 427dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes /* 428dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * Class under test for java.nio.ShortBuffer put(short[], int, int) 429dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes */ 430dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testPutshortArrayintint() { 431dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 432dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes short array[] = new short[buf.capacity()]; 433dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 434dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(new short[buf.capacity() + 1], 0, buf.capacity() + 1); 435dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 436dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (BufferOverflowException e) { 437dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 438dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 439dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), 0); 440dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 441dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(array, -1, array.length); 442dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 443dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException e) { 444dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 445dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 446dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 447dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(array, array.length + 1, 0); 448dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 449dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException e) { 450dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 451dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 452dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(array, array.length, 0); 453dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), 0); 454dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 455dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(array, 0, -1); 456dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 457dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException e) { 458dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 459dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 460dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 461dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put((short[])null, 0, -1); 462dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 463dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (NullPointerException e) { 464dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 465dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 466dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 467dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(array, 2, array.length); 468dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 469dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException e) { 470dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 471dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 472dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 473dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(array, Integer.MAX_VALUE, 1); 474dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 475dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException e) { 476dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 477dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 478dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 479dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(array, 1, Integer.MAX_VALUE); 480dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 481dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (BufferOverflowException expected) { 482dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException expected) { 483dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 484dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), 0); 485dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 486dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData2(array, 0, array.length); 487dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer ret = buf.put(array, 0, array.length); 488dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), buf.capacity()); 489dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(buf, array, 0, array.length); 490dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertSame(ret, buf); 491dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 492dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 493dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes /* 494dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * Class under test for java.nio.ShortBuffer put(java.nio.ShortBuffer) 495dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes */ 496dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testPutShortBuffer() { 497dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer other = ShortBuffer.allocate(buf.capacity()); 498dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 499dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(buf); 500dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 501dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IllegalArgumentException e) { 502dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 503dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 504dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 505dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(ShortBuffer.allocate(buf.capacity() + 1)); 506dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 507dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (BufferOverflowException e) { 508dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 509dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 510dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 511dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.flip(); 512dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put((ShortBuffer)null); 513dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 514dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (NullPointerException e) { 515dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 516dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 517dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 518dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData2(other); 519dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes other.clear(); 520dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 521dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer ret = buf.put(other); 522dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(other.position(), other.capacity()); 523dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), buf.capacity()); 524dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentEquals(other, buf); 525dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertSame(ret, buf); 526dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 527dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 528dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes /* 529dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * Class under test for java.nio.ShortBuffer put(int, short) 530dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes */ 531dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testPutintshort() { 532dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 533dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes for (int i = 0; i < buf.capacity(); i++) { 534dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.position(), 0); 535dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer ret = buf.put(i, (short) i); 536dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.get(i), (short) i); 537dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertSame(ret, buf); 538dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 539dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 540dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(-1, (short) 0); 541dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 542dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException e) { 543dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 544dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 545dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 546dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(buf.limit(), (short) 0); 547dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 548dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (IndexOutOfBoundsException e) { 549dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 550dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 551dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 552dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 553dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testSlice() { 554dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(buf.capacity() > 5); 555dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.position(1); 556dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.limit(buf.capacity() - 1); 557dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 558dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes ShortBuffer slice = buf.slice(); 559dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.isReadOnly(), slice.isReadOnly()); 560dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.isDirect(), slice.isDirect()); 561dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.order(), slice.order()); 562dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(slice.position(), 0); 563dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(slice.limit(), buf.remaining()); 564dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(slice.capacity(), buf.remaining()); 565dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes try { 566dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes slice.reset(); 567dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 568dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } catch (InvalidMarkException e) { 569dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // expected 570dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 571dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 572dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes // slice share the same content with buf 573dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes if (!slice.isReadOnly()) { 574dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes loadTestData1(slice); 575dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertContentLikeTestData1(buf, 1, (short) 0, slice.capacity()); 576dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(2, (short) 500); 577dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(slice.get(1), 500); 578dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 579dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 580dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 581dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public void testToString() { 582dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes String str = buf.toString(); 583dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(str.indexOf("Short") >= 0 || str.indexOf("short") >= 0); 584dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(str.indexOf("" + buf.position()) >= 0); 585dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(str.indexOf("" + buf.limit()) >= 0); 586dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertTrue(str.indexOf("" + buf.capacity()) >= 0); 587dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 588dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 589dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes void loadTestData1(short array[], int offset, int length) { 590dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes for (int i = 0; i < length; i++) { 591dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes array[offset + i] = (short) i; 592dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 593dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 594dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 595dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes void loadTestData2(short array[], int offset, int length) { 596dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes for (int i = 0; i < length; i++) { 597dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes array[offset + i] = (short) (length - i); 598dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 599dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 600dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 601dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes void loadTestData1(ShortBuffer buf) { 602dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 603dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes for (int i = 0; i < buf.capacity(); i++) { 604dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(i, (short) i); 605dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 606dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 607dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 608dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes void loadTestData2(ShortBuffer buf) { 609dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.clear(); 610dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes for (int i = 0; i < buf.capacity(); i++) { 611dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes buf.put(i, (short) (buf.capacity() - i)); 612dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 613dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 614dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 615dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes void assertContentEquals(ShortBuffer buf, short array[], 616dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes int offset, int length) { 617dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes for (int i = 0; i < length; i++) { 618dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.get(i), array[offset + i]); 619dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 620dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 621dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 622dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes void assertContentEquals(ShortBuffer buf, ShortBuffer other) { 623dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.capacity(), other.capacity()); 624dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes for (int i = 0; i < buf.capacity(); i++) { 625dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.get(i), other.get(i)); 626dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 627dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 628dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 629dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes void assertContentLikeTestData1(ShortBuffer buf, 630dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes int startIndex, short startValue, int length) { 631dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes short value = startValue; 632dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes for (int i = 0; i < length; i++) { 633dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes assertEquals(buf.get(startIndex + i), value); 634dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes value = (short) (value + 1); 635dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 636dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 637dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes} 638