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