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.InvalidMarkException;
24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.nio.LongBuffer;
25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/**
27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Tests java.nio.LongBuffer
28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class LongBufferTest extends AbstractBufferTest {
31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
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 LongBuffer buf;
38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    protected void setUp() throws Exception {
40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf = LongBuffer.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        long 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        long 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        LongBuffer 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        // case: buffer is full
110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.mark();
112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        loadTestData1(buf);
113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        LongBuffer ret = buf.compact();
114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertSame(ret, buf);
115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), buf.capacity());
116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.limit(), buf.capacity());
117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertContentLikeTestData1(buf, 0, 0, buf.capacity());
118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.reset();
120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (InvalidMarkException e) {
122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // case: buffer is empty
126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.position(0);
127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.limit(0);
128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.mark();
129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        ret = buf.compact();
130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertSame(ret, buf);
131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), 0);
132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.limit(), buf.capacity());
133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertContentLikeTestData1(buf, 0, 0, buf.capacity());
134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.reset();
136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (InvalidMarkException e) {
138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // case: normal
142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(buf.capacity() > 5);
143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.position(1);
144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.limit(5);
145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.mark();
146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        ret = buf.compact();
147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertSame(ret, buf);
148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), 4);
149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.limit(), buf.capacity());
150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertContentLikeTestData1(buf, 0, 1, 4);
151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.reset();
153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (InvalidMarkException e) {
155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCompareTo() {
160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // compare to self
161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, buf.compareTo(buf));
162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // normal cases
164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(buf.capacity() > 5);
165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        LongBuffer other = LongBuffer.allocate(buf.capacity());
167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        loadTestData1(other);
168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, buf.compareTo(other));
169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(0, other.compareTo(buf));
170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.position(1);
171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(buf.compareTo(other) > 0);
172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(other.compareTo(buf) < 0);
173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        other.position(2);
174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(buf.compareTo(other) < 0);
175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(other.compareTo(buf) > 0);
176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.position(2);
177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        other.limit(5);
178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(buf.compareTo(other) > 0);
179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(other.compareTo(buf) < 0);
180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testDuplicate() {
183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.mark();
185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.position(buf.limit());
186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // duplicate's contents should be the same as buf
188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        LongBuffer duplicate = buf.duplicate();
189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNotSame(buf, duplicate);
190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), duplicate.position());
191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.limit(), duplicate.limit());
192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.isReadOnly(), duplicate.isReadOnly());
193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.isDirect(), duplicate.isDirect());
194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.order(), duplicate.order());
195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertContentEquals(buf, duplicate);
196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // duplicate's position, mark, and limit should be independent to buf
198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        duplicate.reset();
199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(duplicate.position(), 0);
200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        duplicate.clear();
201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), buf.limit());
202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.reset();
203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), 0);
204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // duplicate share the same content with buf
206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        if (!duplicate.isReadOnly()) {
207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            loadTestData1(buf);
208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertContentEquals(buf, duplicate);
209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            loadTestData2(duplicate);
210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertContentEquals(buf, duplicate);
211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testEquals() {
215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // equal to self
216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(buf.equals(buf));
217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        LongBuffer readonly = buf.asReadOnlyBuffer();
218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(buf.equals(readonly));
219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        LongBuffer duplicate = buf.duplicate();
220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(buf.equals(duplicate));
221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // always false, if type mismatch
223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertFalse(buf.equals(Boolean.TRUE));
224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(buf.capacity() > 5);
226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.limit(buf.capacity()).position(0);
228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        readonly.limit(readonly.capacity()).position(1);
229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertFalse(buf.equals(readonly));
230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.limit(buf.capacity() - 1).position(0);
232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        duplicate.limit(duplicate.capacity()).position(0);
233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertFalse(buf.equals(duplicate));
234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /*
237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Class under test for long get()
238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGet() {
240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < buf.capacity(); i++) {
242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(buf.position(), i);
243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(buf.get(), buf.get(i));
244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.get();
247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (BufferUnderflowException e) {
249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /*
254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Class under test for java.nio.LongBuffer get(long[])
255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetlongArray() {
257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        long array[] = new long[1];
258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < buf.capacity(); i++) {
260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(buf.position(), i);
261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            LongBuffer ret = buf.get(array);
262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(array[0], buf.get(i));
263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertSame(ret, buf);
264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.get(array);
267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (BufferUnderflowException e) {
269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.position(buf.limit());
273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.get((long[])null);
274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NullPointerException e) {
276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /*
281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Class under test for java.nio.LongBuffer get(long[], int, int)
282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetlongArrayintint() {
284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        long array[] = new long[buf.capacity()];
286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.get(new long[buf.capacity() + 1], 0, buf.capacity() + 1);
289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (BufferUnderflowException e) {
291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), 0);
294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.get(array, -1, array.length);
296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.get(array, array.length, 0);
301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.get(array, array.length + 1, 1);
303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), 0);
308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.get(array, 2, -1);
310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.get((long[])null, 2, -1);
316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NullPointerException e) {
318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.get(array, 2, array.length);
322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.get(array, 1, Integer.MAX_VALUE);
328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
3292a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes        } catch (BufferUnderflowException expected) {
3302a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes        } catch (IndexOutOfBoundsException expected) {
331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.get(array, Integer.MAX_VALUE, 1);
334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), 0);
339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        LongBuffer ret = buf.get(array, 0, array.length);
342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), buf.capacity());
343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertContentEquals(buf, array, 0, array.length);
344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertSame(ret, buf);
345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /*
348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Class under test for long get(int)
349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetint() {
351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < buf.capacity(); i++) {
353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(buf.position(), i);
354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(buf.get(), buf.get(i));
355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.get(-1);
358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.get(buf.limit());
364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testHasArray() {
371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNotNull(buf.array());
372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testHashCode() {
375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        LongBuffer readonly = buf.asReadOnlyBuffer();
377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        LongBuffer duplicate = buf.duplicate();
378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(buf.hashCode() == readonly.hashCode());
379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(buf.capacity() > 5);
381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        duplicate.position(buf.capacity() / 2);
382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(buf.hashCode() != duplicate.hashCode());
383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testIsDirect() {
386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertFalse(buf.isDirect());
387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testOrder() {
390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.order();
391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(ByteOrder.nativeOrder(), buf.order());
392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /*
395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Class under test for java.nio.LongBuffer put(long)
396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testPutlong() {
398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes         buf.clear();
399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < buf.capacity(); i++) {
400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(buf.position(), i);
401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            LongBuffer ret = buf.put((long) i);
402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(buf.get(i), (long) i);
403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertSame(ret, buf);
404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(0);
407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (BufferOverflowException e) {
409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /*
414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Class under test for java.nio.LongBuffer put(long[])
415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testPutlongArray() {
417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        long array[] = new long[1];
418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < buf.capacity(); i++) {
420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(buf.position(), i);
421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            array[0] = (long) i;
422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            LongBuffer ret = buf.put(array);
423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(buf.get(i), (long) i);
424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertSame(ret, buf);
425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(array);
428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (BufferOverflowException e) {
430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.position(buf.limit());
434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put((long[])null);
435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NullPointerException e) {
437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /*
442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Class under test for java.nio.LongBuffer put(long[], int, int)
443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testPutlongArrayintint() {
445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        long array[] = new long[buf.capacity()];
447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(new long[buf.capacity() + 1], 0, buf.capacity() + 1);
449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (BufferOverflowException e) {
451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), 0);
454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(array, -1, array.length);
456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(array, array.length + 1, 0);
462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.put(array, array.length, 0);
467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), 0);
468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(array, 0, -1);
470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(array, 2, array.length);
476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put((long[])null, 0, -1);
482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NullPointerException e) {
484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(array, 2, array.length);
488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(array, Integer.MAX_VALUE, 1);
494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(array, 1, Integer.MAX_VALUE);
500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
5012a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes        } catch (BufferOverflowException expected) {
5022a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes        } catch (IndexOutOfBoundsException expected) {
503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), 0);
505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        loadTestData2(array, 0, array.length);
507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        LongBuffer ret = buf.put(array, 0, array.length);
508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), buf.capacity());
509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertContentEquals(buf, array, 0, array.length);
510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertSame(ret, buf);
511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /*
514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Class under test for java.nio.LongBuffer put(java.nio.LongBuffer)
515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testPutLongBuffer() {
517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        LongBuffer other = LongBuffer.allocate(buf.capacity());
518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(buf);
520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IllegalArgumentException e) {
522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(LongBuffer.allocate(buf.capacity() + 1));
526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (BufferOverflowException e) {
528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.flip();
532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put((LongBuffer)null);
533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NullPointerException e) {
535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        loadTestData2(other);
539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        other.clear();
540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        LongBuffer ret = buf.put(other);
542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(other.position(), other.capacity());
543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.position(), buf.capacity());
544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertContentEquals(other, buf);
545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertSame(ret, buf);
546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /*
549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Class under test for java.nio.LongBuffer put(int, long)
550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testPutintlong() {
552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < buf.capacity(); i++) {
554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(buf.position(), 0);
555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            LongBuffer ret = buf.put(i, (long) i);
556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(buf.get(i), (long) i);
557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertSame(ret, buf);
558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(-1, 0);
561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(buf.limit(), 0);
567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IndexOutOfBoundsException e) {
569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testSlice() {
574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(buf.capacity() > 5);
575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.position(1);
576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.limit(buf.capacity() - 1);
577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        LongBuffer slice = buf.slice();
579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.isReadOnly(), slice.isReadOnly());
580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.isDirect(), slice.isDirect());
581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.order(), slice.order());
582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(slice.position(), 0);
583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(slice.limit(), buf.remaining());
584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(slice.capacity(), buf.remaining());
585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            slice.reset();
587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("Should throw Exception"); //$NON-NLS-1$
588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (InvalidMarkException e) {
589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // slice share the same content with buf
593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        if (!slice.isReadOnly()) {
594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            loadTestData1(slice);
595561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertContentLikeTestData1(buf, 1, 0, slice.capacity());
596561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(2, 500);
597561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(slice.get(1), 500);
598561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
599561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
600561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
601561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testToString() {
602561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        String str = buf.toString();
603561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(str.indexOf("Long") >= 0 || str.indexOf("long") >= 0);
604561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(str.indexOf("" + buf.position()) >= 0);
605561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(str.indexOf("" + buf.limit()) >= 0);
606561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(str.indexOf("" + buf.capacity()) >= 0);
607561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
608561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
609561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    void loadTestData1(long array[], int offset, int length) {
610561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < length; i++) {
611561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            array[offset + i] = (long) i;
612561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
613561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
614561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
615561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    void loadTestData2(long array[], int offset, int length) {
616561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < length; i++) {
617561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            array[offset + i] = (long) length - i;
618561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
619561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
620561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
621561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    void loadTestData1(LongBuffer buf) {
622561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
623561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < buf.capacity(); i++) {
624561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(i, (long) i);
625561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
626561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
627561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
628561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    void loadTestData2(LongBuffer buf) {
629561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buf.clear();
630561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < buf.capacity(); i++) {
631561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            buf.put(i, (long) buf.capacity() - i);
632561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
633561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
634561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
635561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    void assertContentEquals(LongBuffer buf, long array[],
636561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            int offset, int length) {
637561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < length; i++) {
638561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(buf.get(i), array[offset + i]);
639561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
640561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
641561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
642561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    void assertContentEquals(LongBuffer buf, LongBuffer other) {
643561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(buf.capacity(), other.capacity());
644561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < buf.capacity(); i++) {
645561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(buf.get(i), other.get(i));
646561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
647561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
648561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
649561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    void assertContentLikeTestData1(LongBuffer buf,
650561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            int startIndex, long startValue, int length) {
651561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        long value = startValue;
652561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < length; i++) {
653561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals(buf.get(startIndex + i), value);
654561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            value = value + 1;
655561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
656561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
657561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes}
658