1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/* 2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * contributor license agreements. See the NOTICE file distributed with 4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * this work for additional information regarding copyright ownership. 5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (the "License"); you may not use this file except in compliance with 7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License. You may obtain a copy of the License at 8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Unless required by applicable law or agreed to in writing, software 12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * See the License for the specific language governing permissions and 15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * limitations under the License. 16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.nio.tests.java.nio; 19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.nio.BufferOverflowException; 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.nio.BufferUnderflowException; 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.nio.ByteOrder; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.nio.DoubleBuffer; 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.nio.FloatBuffer; 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.nio.InvalidMarkException; 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/** 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Tests java.nio.FloatBuffer 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class FloatBufferTest extends AbstractBufferTest { 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected static final int SMALL_TEST_LENGTH = 5; 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected static final int BUFFER_LENGTH = 20; 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected FloatBuffer buf; 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void setUp() throws Exception { 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf = FloatBuffer.allocate(BUFFER_LENGTH); 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData1(buf); 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes baseBuf = buf; 43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void tearDown() throws Exception { 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf = null; 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes baseBuf = null; 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testArray() { 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float array[] = buf.array(); 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData1(array, buf.arrayOffset(), buf.capacity()); 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData2(array, buf.arrayOffset(), buf.capacity()); 58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData1(buf); 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData2(buf); 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testArrayOffset() { 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float array[] = buf.array(); 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData1(array, buf.arrayOffset(), buf.capacity()); 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData2(array, buf.arrayOffset(), buf.capacity()); 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData1(buf); 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData2(buf); 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, array, buf.arrayOffset(), buf.capacity()); 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testAsReadOnlyBuffer() { 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.mark(); 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.position(buf.limit()); 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // readonly's contents should be the same as buf 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer readonly = buf.asReadOnlyBuffer(); 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotSame(buf, readonly); 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(readonly.isReadOnly()); 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), readonly.position()); 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.limit(), readonly.limit()); 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.isDirect(), readonly.isDirect()); 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.order(), readonly.order()); 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, readonly); 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // readonly's position, mark, and limit should be independent to buf 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes readonly.reset(); 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(readonly.position(), 0); 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes readonly.clear(); 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), buf.limit()); 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.reset(); 105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), 0); 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testCompact() { 109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // case: buffer is full 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.mark(); 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData1(buf); 114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer ret = buf.compact(); 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(ret, buf); 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), buf.capacity()); 117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.limit(), buf.capacity()); 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentLikeTestData1(buf, 0, 0.0f, buf.capacity()); 119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.reset(); 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (InvalidMarkException e) { 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // case: buffer is empty 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.position(0); 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.limit(0); 129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.mark(); 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ret = buf.compact(); 131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(ret, buf); 132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), 0); 133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.limit(), buf.capacity()); 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentLikeTestData1(buf, 0, 0.0f, buf.capacity()); 135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.reset(); 137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (InvalidMarkException e) { 139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // case: normal 143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(buf.capacity() > 5); 144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.position(1); 145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.limit(5); 146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.mark(); 147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ret = buf.compact(); 148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(ret, buf); 149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), 4); 150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.limit(), buf.capacity()); 151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentLikeTestData1(buf, 0, 1.0f, 4); 152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.reset(); 154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (InvalidMarkException e) { 156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testCompareTo() { 161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.compareTo(null); 163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw NPE"); 164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // compare to self 169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, buf.compareTo(buf)); 170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // normal cases 172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(buf.capacity() > 5); 173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer other = FloatBuffer.allocate(buf.capacity()); 175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData1(other); 176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, buf.compareTo(other)); 177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, other.compareTo(buf)); 178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.position(1); 179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(buf.compareTo(other) > 0); 180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(other.compareTo(buf) < 0); 181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes other.position(2); 182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(buf.compareTo(other) < 0); 183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(other.compareTo(buf) > 0); 184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.position(2); 185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes other.limit(5); 186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(buf.compareTo(other) > 0); 187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(other.compareTo(buf) < 0); 188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer fbuffer1 = FloatBuffer.wrap(new float[] { Float.NaN }); 190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer fbuffer2 = FloatBuffer.wrap(new float[] { Float.NaN }); 191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer fbuffer3 = FloatBuffer.wrap(new float[] { 42f }); 192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Failed equal comparison with NaN entry", 0, fbuffer1 194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .compareTo(fbuffer2)); 195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Failed greater than comparison with NaN entry", 1, fbuffer3 196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .compareTo(fbuffer1)); 197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Failed greater than comparison with NaN entry", 1, fbuffer1 198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .compareTo(fbuffer3)); 199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testDuplicate() { 203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.mark(); 205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.position(buf.limit()); 206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // duplicate's contents should be the same as buf 208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer duplicate = buf.duplicate(); 209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotSame(buf, duplicate); 210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), duplicate.position()); 211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.limit(), duplicate.limit()); 212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.isReadOnly(), duplicate.isReadOnly()); 213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.isDirect(), duplicate.isDirect()); 214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.order(), duplicate.order()); 215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, duplicate); 216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // duplicate's position, mark, and limit should be independent to buf 218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes duplicate.reset(); 219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(duplicate.position(), 0); 220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes duplicate.clear(); 221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), buf.limit()); 222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.reset(); 223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), 0); 224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // duplicate share the same content with buf 226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (!duplicate.isReadOnly()) { 227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData1(buf); 228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, duplicate); 229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData2(duplicate); 230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, duplicate); 231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testEquals() { 235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // equal to self 236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(buf.equals(buf)); 237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer readonly = buf.asReadOnlyBuffer(); 238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(buf.equals(readonly)); 239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer duplicate = buf.duplicate(); 240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(buf.equals(duplicate)); 241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // always false, if type mismatch 243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(buf.equals(Boolean.TRUE)); 244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(buf.capacity() > 5); 246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.limit(buf.capacity()).position(0); 248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes readonly.limit(readonly.capacity()).position(1); 249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(buf.equals(readonly)); 250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.limit(buf.capacity() - 1).position(0); 252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes duplicate.limit(duplicate.capacity()).position(0); 253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(buf.equals(duplicate)); 254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /* 257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Class under test for float get() 258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testGet() { 260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < buf.capacity(); i++) { 262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), i); 263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.get(), buf.get(i), 0.01); 264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get(); 267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (BufferUnderflowException e) { 269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /* 274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Class under test for java.nio.FloatBuffer get(float[]) 275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testGetfloatArray() { 277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float array[] = new float[1]; 278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < buf.capacity(); i++) { 280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), i); 281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer ret = buf.get(array); 282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(array[0], buf.get(i), 0.01); 283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(ret, buf); 284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get(array); 287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (BufferUnderflowException e) { 289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.position(buf.limit()); 293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get((float[])null); 294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get(new float[0]); 299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /* 302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Class under test for java.nio.FloatBuffer get(float[], int, int) 303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testGetfloatArrayintint() { 305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float array[] = new float[buf.capacity()]; 307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get(new float[buf.capacity() + 1], 0, buf.capacity() + 1); 310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (BufferUnderflowException e) { 312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), 0); 315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get(array, -1, array.length); 317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get(array, array.length, 0); 322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get(array, array.length + 1, 1); 324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), 0); 329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get(array, 2, -1); 331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get((float[])null, 2, -1); 337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get(array, 2, array.length); 343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get(array, 1, Integer.MAX_VALUE); 349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 3502a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (BufferUnderflowException expected) { 3512a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (IndexOutOfBoundsException expected) { 352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get(array, Integer.MAX_VALUE, 1); 355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), 0); 360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer ret = buf.get(array, 0, array.length); 363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), buf.capacity()); 364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, array, 0, array.length); 365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(ret, buf); 366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /* 369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Class under test for float get(int) 370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testGetint() { 372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < buf.capacity(); i++) { 374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), i); 375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.get(), buf.get(i), 0.01); 376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get(-1); 379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.get(buf.limit()); 385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testHasArray() { 392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(buf.array()); 393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testHashCode() { 396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer readonly = buf.asReadOnlyBuffer(); 398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer duplicate = buf.duplicate(); 399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(buf.hashCode() == readonly.hashCode()); 400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(buf.capacity() > 5); 402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes duplicate.position(buf.capacity() / 2); 403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(buf.hashCode() != duplicate.hashCode()); 404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testIsDirect() { 407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(buf.isDirect()); 408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testOrder() { 411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.order(); 412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (buf.hasArray()) { 413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(ByteOrder.nativeOrder(), buf.order()); 414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /* 418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Class under test for java.nio.FloatBuffer put(float) 419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testPutfloat() { 421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < buf.capacity(); i++) { 423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), i); 424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer ret = buf.put((float) i); 425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.get(i), (float) i, 0.0); 426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(ret, buf); 427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(0); 430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (BufferOverflowException e) { 432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /* 437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Class under test for java.nio.FloatBuffer put(float[]) 438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testPutfloatArray() { 440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float array[] = new float[1]; 441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < buf.capacity(); i++) { 443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), i); 444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes array[0] = (float) i; 445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer ret = buf.put(array); 446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.get(i), (float) i, 0.0); 447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(ret, buf); 448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(array); 451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (BufferOverflowException e) { 453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.position(buf.limit()); 457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put((float[])null); 458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /* 465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Class under test for java.nio.FloatBuffer put(float[], int, int) 466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testPutfloatArrayintint() { 468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float array[] = new float[buf.capacity()]; 470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(new float[buf.capacity() + 1], 0, buf.capacity() + 1); 472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (BufferOverflowException e) { 474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), 0); 477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(array, -1, array.length); 479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(array, array.length + 1, 0); 485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(array, array.length, 0); 490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), 0); 491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(array, 0, -1); 493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put((float[])null, 0, -1); 499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(array, 2, array.length); 505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(array, Integer.MAX_VALUE, 1); 511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(array, 1, Integer.MAX_VALUE); 517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 5182a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (BufferOverflowException expected) { 5192a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (IndexOutOfBoundsException expected) { 520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), 0); 522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData2(array, 0, array.length); 524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer ret = buf.put(array, 0, array.length); 525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), buf.capacity()); 526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(buf, array, 0, array.length); 527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(ret, buf); 528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /* 531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Class under test for java.nio.FloatBuffer put(java.nio.FloatBuffer) 532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testPutFloatBuffer() { 534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer other = FloatBuffer.allocate(buf.capacity()); 535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(buf); 537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(FloatBuffer.allocate(buf.capacity() + 1)); 543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (BufferOverflowException e) { 545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.flip(); 549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put((FloatBuffer)null); 550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData2(other); 556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes other.clear(); 557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer ret = buf.put(other); 559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(other.position(), other.capacity()); 560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), buf.capacity()); 561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentEquals(other, buf); 562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(ret, buf); 563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /* 566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Class under test for java.nio.FloatBuffer put(int, float) 567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testPutintfloat() { 569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < buf.capacity(); i++) { 571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.position(), 0); 572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer ret = buf.put(i, (float) i); 573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.get(i), (float) i, 0.0); 574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(ret, buf); 575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(-1, 0); 578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(buf.limit(), 0); 584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testSlice() { 591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(buf.capacity() > 5); 592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.position(1); 593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.limit(buf.capacity() - 1); 594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 595561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes FloatBuffer slice = buf.slice(); 596561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.isReadOnly(), slice.isReadOnly()); 597561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.isDirect(), slice.isDirect()); 598561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.order(), slice.order()); 599561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(slice.position(), 0); 600561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(slice.limit(), buf.remaining()); 601561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(slice.capacity(), buf.remaining()); 602561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 603561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes slice.reset(); 604561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw Exception"); //$NON-NLS-1$ 605561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (InvalidMarkException e) { 606561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 607561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 608561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 609561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // slice share the same content with buf 610561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (!slice.isReadOnly()) { 611561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes loadTestData1(slice); 612561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertContentLikeTestData1(buf, 1, 0, slice.capacity()); 613561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(2, 500); 614561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(slice.get(1), 500, 0.0); 615561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 616561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 617561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 618561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testToString() { 619561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String str = buf.toString(); 620561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(str.indexOf("Float") >= 0 || str.indexOf("float") >= 0); 621561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(str.indexOf("" + buf.position()) >= 0); 622561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(str.indexOf("" + buf.limit()) >= 0); 623561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(str.indexOf("" + buf.capacity()) >= 0); 624561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 625561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 626561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes void loadTestData1(float array[], int offset, int length) { 627561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < length; i++) { 628561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes array[offset + i] = (float) i; 629561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 630561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 631561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 632561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes void loadTestData2(float array[], int offset, int length) { 633561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < length; i++) { 634561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes array[offset + i] = (float) length - i; 635561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 636561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 637561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 638561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes void loadTestData1(FloatBuffer buf) { 639561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 640561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < buf.capacity(); i++) { 641561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(i, (float) i); 642561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 643561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 644561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 645561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes void loadTestData2(FloatBuffer buf) { 646561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.clear(); 647561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < buf.capacity(); i++) { 648561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf.put(i, (float) buf.capacity() - i); 649561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 650561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 651561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 652561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes void assertContentEquals(FloatBuffer buf, float array[], 653561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int offset, int length) { 654561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < length; i++) { 655561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.get(i), array[offset + i], 0.01); 656561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 657561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 658561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 659561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes void assertContentEquals(FloatBuffer buf, FloatBuffer other) { 660561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.capacity(), other.capacity()); 661561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < buf.capacity(); i++) { 662561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.get(i), other.get(i), 0.01); 663561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 664561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 665561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 666561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes void assertContentLikeTestData1(FloatBuffer buf, 667561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int startIndex, float startValue, int length) { 668561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float value = startValue; 669561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < length; i++) { 670561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(buf.get(startIndex + i), value, 0.01); 671561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes value = value + 1.0f; 672561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 673561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 674561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes} 675