Search in sources :

Example 11 with InvalidMarkException

use of java.nio.InvalidMarkException in project robovm by robovm.

the class AbstractBufferTest method testReset.

public void testReset() {
    // save state
    int oldPosition = baseBuf.position();
    int oldLimit = baseBuf.limit();
    baseBuf.mark();
    baseBuf.position(baseBuf.limit());
    baseBuf.reset();
    assertEquals(baseBuf.position(), oldPosition);
    baseBuf.mark();
    baseBuf.position(baseBuf.limit());
    baseBuf.reset();
    assertEquals(baseBuf.position(), oldPosition);
    Buffer ret = baseBuf.reset();
    assertSame(ret, baseBuf);
    baseBuf.clear();
    try {
        baseBuf.reset();
        //$NON-NLS-1$
        fail("Should throw Exception");
    } catch (InvalidMarkException e) {
    // expected
    }
    // restore state
    baseBuf.limit(oldLimit);
    baseBuf.position(oldPosition);
}
Also used : Buffer(java.nio.Buffer) ByteBuffer(java.nio.ByteBuffer) InvalidMarkException(java.nio.InvalidMarkException)

Example 12 with InvalidMarkException

use of java.nio.InvalidMarkException in project robovm by robovm.

the class AbstractBufferTest method testFlip.

public void testFlip() {
    // save state
    int oldPosition = baseBuf.position();
    int oldLimit = baseBuf.limit();
    Buffer ret = baseBuf.flip();
    assertSame(ret, baseBuf);
    assertEquals(baseBuf.position(), 0);
    assertEquals(baseBuf.limit(), oldPosition);
    try {
        baseBuf.reset();
        //$NON-NLS-1$
        fail("Should throw Exception");
    } catch (InvalidMarkException e) {
    // expected
    }
    // restore state
    baseBuf.limit(oldLimit);
    baseBuf.position(oldPosition);
}
Also used : Buffer(java.nio.Buffer) ByteBuffer(java.nio.ByteBuffer) InvalidMarkException(java.nio.InvalidMarkException)

Example 13 with InvalidMarkException

use of java.nio.InvalidMarkException in project robovm by robovm.

the class AbstractBufferTest method testPositionint.

/*
     * Class under test for Buffer position(int)
     */
public void testPositionint() {
    // save state
    int oldPosition = baseBuf.position();
    int oldLimit = baseBuf.limit();
    try {
        baseBuf.position(-1);
        //$NON-NLS-1$
        fail("Should throw Exception");
    } catch (IllegalArgumentException e) {
    // expected
    }
    try {
        baseBuf.position(baseBuf.limit() + 1);
        //$NON-NLS-1$
        fail("Should throw Exception");
    } catch (IllegalArgumentException e) {
    // expected
    }
    baseBuf.mark();
    baseBuf.position(baseBuf.position());
    baseBuf.reset();
    assertEquals(baseBuf.position(), oldPosition);
    baseBuf.position(0);
    assertEquals(baseBuf.position(), 0);
    baseBuf.position(baseBuf.limit());
    assertEquals(baseBuf.position(), baseBuf.limit());
    if (baseBuf.capacity() > 0) {
        baseBuf.limit(baseBuf.capacity());
        baseBuf.position(baseBuf.limit());
        baseBuf.mark();
        baseBuf.position(baseBuf.limit() - 1);
        assertEquals(baseBuf.position(), baseBuf.limit() - 1);
        // mark should be invalid
        try {
            baseBuf.reset();
            //$NON-NLS-1$
            fail("Should throw Exception");
        } catch (InvalidMarkException e) {
        // expected
        }
    }
    Buffer ret = baseBuf.position(0);
    assertSame(ret, baseBuf);
    // restore state
    baseBuf.limit(oldLimit);
    baseBuf.position(oldPosition);
}
Also used : Buffer(java.nio.Buffer) ByteBuffer(java.nio.ByteBuffer) InvalidMarkException(java.nio.InvalidMarkException)

Example 14 with InvalidMarkException

use of java.nio.InvalidMarkException in project robovm by robovm.

the class LongBufferTest method testSlice.

public void testSlice() {
    assertTrue(buf.capacity() > 5);
    buf.position(1);
    buf.limit(buf.capacity() - 1);
    LongBuffer slice = buf.slice();
    assertEquals(buf.isReadOnly(), slice.isReadOnly());
    assertEquals(buf.isDirect(), slice.isDirect());
    assertEquals(buf.order(), slice.order());
    assertEquals(slice.position(), 0);
    assertEquals(slice.limit(), buf.remaining());
    assertEquals(slice.capacity(), buf.remaining());
    try {
        slice.reset();
        //$NON-NLS-1$
        fail("Should throw Exception");
    } catch (InvalidMarkException e) {
    // expected
    }
    // slice share the same content with buf
    if (!slice.isReadOnly()) {
        loadTestData1(slice);
        assertContentLikeTestData1(buf, 1, 0, slice.capacity());
        buf.put(2, 500);
        assertEquals(slice.get(1), 500);
    }
}
Also used : LongBuffer(java.nio.LongBuffer) InvalidMarkException(java.nio.InvalidMarkException)

Example 15 with InvalidMarkException

use of java.nio.InvalidMarkException in project robovm by robovm.

the class ShortBufferTest method testCompact.

public void testCompact() {
    // case: buffer is full
    buf.clear();
    buf.mark();
    loadTestData1(buf);
    ShortBuffer ret = buf.compact();
    assertSame(ret, buf);
    assertEquals(buf.position(), buf.capacity());
    assertEquals(buf.limit(), buf.capacity());
    assertContentLikeTestData1(buf, 0, (short) 0, buf.capacity());
    try {
        buf.reset();
        //$NON-NLS-1$
        fail("Should throw Exception");
    } catch (InvalidMarkException e) {
    // expected
    }
    // case: buffer is empty
    buf.position(0);
    buf.limit(0);
    buf.mark();
    ret = buf.compact();
    assertSame(ret, buf);
    assertEquals(buf.position(), 0);
    assertEquals(buf.limit(), buf.capacity());
    assertContentLikeTestData1(buf, 0, (short) 0, buf.capacity());
    try {
        buf.reset();
        //$NON-NLS-1$
        fail("Should throw Exception");
    } catch (InvalidMarkException e) {
    // expected
    }
    // case: normal
    assertTrue(buf.capacity() > 5);
    buf.position(1);
    buf.limit(5);
    buf.mark();
    ret = buf.compact();
    assertSame(ret, buf);
    assertEquals(buf.position(), 4);
    assertEquals(buf.limit(), buf.capacity());
    assertContentLikeTestData1(buf, 0, (short) 1, 4);
    try {
        buf.reset();
        //$NON-NLS-1$
        fail("Should throw Exception");
    } catch (InvalidMarkException e) {
    // expected
    }
}
Also used : ShortBuffer(java.nio.ShortBuffer) InvalidMarkException(java.nio.InvalidMarkException)

Aggregations

InvalidMarkException (java.nio.InvalidMarkException)23 ByteBuffer (java.nio.ByteBuffer)10 Buffer (java.nio.Buffer)6 CharBuffer (java.nio.CharBuffer)2 DoubleBuffer (java.nio.DoubleBuffer)2 FloatBuffer (java.nio.FloatBuffer)2 IntBuffer (java.nio.IntBuffer)2 LongBuffer (java.nio.LongBuffer)2 ShortBuffer (java.nio.ShortBuffer)2 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 ObjectInputStream (java.io.ObjectInputStream)1 ReadOnlyBufferException (java.nio.ReadOnlyBufferException)1