1/* Licensed to the Apache Software Foundation (ASF) under one or more
2 * contributor license agreements.  See the NOTICE file distributed with
3 * this work for additional information regarding copyright ownership.
4 * The ASF licenses this file to You under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with
6 * the License.  You may obtain a copy of the License at
7 *
8 *     http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.apache.harmony.tests.java.nio;
17
18import java.nio.FloatBuffer;
19
20public class WrappedFloatBufferTest extends FloatBufferTest {
21    protected void setUp() throws Exception {
22        super.setUp();
23        buf = FloatBuffer.wrap(new float[BUFFER_LENGTH]);
24        loadTestData1(buf);
25        baseBuf = buf;
26    }
27
28    protected void tearDown() throws Exception {
29        super.tearDown();
30        baseBuf = null;
31        buf = null;
32    }
33
34    /**
35     * @tests java.nio.CharBuffer#allocate(char[],int,int)
36     *
37     */
38    public void testWrappedFloatBuffer_IllegalArg() {
39        float array[] = new float[20];
40        try {
41            FloatBuffer.wrap(array, -1, 0);
42            fail("Should throw Exception"); //$NON-NLS-1$
43        } catch (IndexOutOfBoundsException e) {
44            // expected
45        }
46        try {
47            FloatBuffer.wrap(array, 21, 0);
48            fail("Should throw Exception"); //$NON-NLS-1$
49        } catch (IndexOutOfBoundsException e) {
50            // expected
51        }
52        try {
53            FloatBuffer.wrap(array, 0, -1);
54            fail("Should throw Exception"); //$NON-NLS-1$
55        } catch (IndexOutOfBoundsException e) {
56            // expected
57        }
58        try {
59            FloatBuffer.wrap(array, 0, 21);
60            fail("Should throw Exception"); //$NON-NLS-1$
61        } catch (IndexOutOfBoundsException e) {
62            // expected
63        }
64        try {
65            FloatBuffer.wrap(array, Integer.MAX_VALUE, 1);
66            fail("Should throw Exception"); //$NON-NLS-1$
67        } catch (IndexOutOfBoundsException e) {
68            // expected
69        }
70        try {
71            FloatBuffer.wrap(array, 1, Integer.MAX_VALUE);
72            fail("Should throw Exception"); //$NON-NLS-1$
73        } catch (IndexOutOfBoundsException e) {
74            // expected
75        }
76        try {
77            FloatBuffer.wrap((float[])null, -1, 0);
78            fail("Should throw NPE"); //$NON-NLS-1$
79        } catch (NullPointerException e) {
80        }
81
82        FloatBuffer buf = FloatBuffer.wrap(array, 2, 16);
83        assertEquals(buf.position(), 2);
84        assertEquals(buf.limit(), 18);
85        assertEquals(buf.capacity(), 20);
86    }
87}
88