Home / Class/ ReadOnlyByteBufTest Class — netty Architecture

ReadOnlyByteBufTest Class — netty Architecture

Architecture documentation for the ReadOnlyByteBufTest class in ReadOnlyByteBufTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  9d029ceb_0baf_f35e_1671_646a96ecf982["ReadOnlyByteBufTest"]
  77768c31_23cc_3459_1b4d_ea95ab8535a4["ReadOnlyByteBufTest.java"]
  9d029ceb_0baf_f35e_1671_646a96ecf982 -->|defined in| 77768c31_23cc_3459_1b4d_ea95ab8535a4
  0422ccfa_5603_568d_0e2d_5e684b1d56a7["shouldNotAllowNullInConstructor()"]
  9d029ceb_0baf_f35e_1671_646a96ecf982 -->|method| 0422ccfa_5603_568d_0e2d_5e684b1d56a7
  c9c63aec_7737_dc81_6a83_b80b83349a64["testUnmodifiableBuffer()"]
  9d029ceb_0baf_f35e_1671_646a96ecf982 -->|method| c9c63aec_7737_dc81_6a83_b80b83349a64
  d339a35d_512f_a16e_3fa7_cd6f175aee12["testUnmodifiableBufferDoesNotThrowClassCastException()"]
  9d029ceb_0baf_f35e_1671_646a96ecf982 -->|method| d339a35d_512f_a16e_3fa7_cd6f175aee12
  d491e14f_684c_cbda_1c08_fc140eba3e15["testUnwrap()"]
  9d029ceb_0baf_f35e_1671_646a96ecf982 -->|method| d491e14f_684c_cbda_1c08_fc140eba3e15
  d0ab809c_3797_7531_adad_0ea800a43a6c["shouldHaveSameByteOrder()"]
  9d029ceb_0baf_f35e_1671_646a96ecf982 -->|method| d0ab809c_3797_7531_adad_0ea800a43a6c
  73093f5d_88ba_56be_a29d_e9cdebb7bed5["shouldReturnReadOnlyDerivedBuffer()"]
  9d029ceb_0baf_f35e_1671_646a96ecf982 -->|method| 73093f5d_88ba_56be_a29d_e9cdebb7bed5
  1d693240_fa59_99eb_d185_7399e14670a6["shouldReturnWritableCopy()"]
  9d029ceb_0baf_f35e_1671_646a96ecf982 -->|method| 1d693240_fa59_99eb_d185_7399e14670a6
  a523d5e1_de0b_ca8e_5ffc_3f6b1d842ff2["shouldForwardReadCallsBlindly()"]
  9d029ceb_0baf_f35e_1671_646a96ecf982 -->|method| a523d5e1_de0b_ca8e_5ffc_3f6b1d842ff2
  41b51b3e_88e4_f8a6_a2c1_d274e33c741d["shouldRejectDiscardReadBytes()"]
  9d029ceb_0baf_f35e_1671_646a96ecf982 -->|method| 41b51b3e_88e4_f8a6_a2c1_d274e33c741d
  e44f7bf7_1713_a19d_123f_347a1f9ffbe3["shouldRejectSetByte()"]
  9d029ceb_0baf_f35e_1671_646a96ecf982 -->|method| e44f7bf7_1713_a19d_123f_347a1f9ffbe3
  0e64bbb5_b4b1_26cf_270a_5a7450782f67["shouldRejectSetShort()"]
  9d029ceb_0baf_f35e_1671_646a96ecf982 -->|method| 0e64bbb5_b4b1_26cf_270a_5a7450782f67
  986238e6_8ef6_e5b3_816f_8e8bb294815b["shouldRejectSetMedium()"]
  9d029ceb_0baf_f35e_1671_646a96ecf982 -->|method| 986238e6_8ef6_e5b3_816f_8e8bb294815b
  6349f29a_27de_0b3d_1e1f_1ed2e7f7e40a["shouldRejectSetInt()"]
  9d029ceb_0baf_f35e_1671_646a96ecf982 -->|method| 6349f29a_27de_0b3d_1e1f_1ed2e7f7e40a

Relationship Graph

Source Code

buffer/src/test/java/io/netty/buffer/ReadOnlyByteBufTest.java lines 47–360

public class ReadOnlyByteBufTest {

    @Test
    public void shouldNotAllowNullInConstructor() {
        assertThrows(NullPointerException.class, new Executable() {
            @Override
            public void execute() {
                new ReadOnlyByteBuf(null);
            }
        });
    }

    @Test
    public void testUnmodifiableBuffer() {
        assertThat(unmodifiableBuffer(buffer(1))).isInstanceOf(ReadOnlyByteBuf.class);
    }

    @Test
    public void testUnmodifiableBufferDoesNotThrowClassCastException() {
        unmodifiableBuffer(new DuplicatedByteBuf(mock(ByteBuf.class)));
    }

    @Test
    public void testUnwrap() {
        ByteBuf buf = buffer(1);
        assertSame(buf, unmodifiableBuffer(buf).unwrap());
    }

    @Test
    public void shouldHaveSameByteOrder() {
        ByteBuf buf = buffer(1);
        assertSame(BIG_ENDIAN, unmodifiableBuffer(buf).order());
        buf = buf.order(LITTLE_ENDIAN);
        assertSame(LITTLE_ENDIAN, unmodifiableBuffer(buf).order());
    }

    @Test
    public void shouldReturnReadOnlyDerivedBuffer() {
        ByteBuf buf = unmodifiableBuffer(buffer(1));
        assertThat(buf.duplicate()).isInstanceOf(ReadOnlyByteBuf.class);
        assertThat(buf.slice()).isInstanceOf(ReadOnlyByteBuf.class);
        assertThat(buf.slice(0, 1)).isInstanceOf(ReadOnlyByteBuf.class);
        assertThat(buf.duplicate()).isInstanceOf(ReadOnlyByteBuf.class);
    }

    @Test
    public void shouldReturnWritableCopy() {
        ByteBuf buf = unmodifiableBuffer(buffer(1));
        assertThat(buf.copy()).isNotInstanceOf(ReadOnlyByteBuf.class);
    }

    @Test
    public void shouldForwardReadCallsBlindly() throws Exception {
        ByteBuf buf = mock(ByteBuf.class);
        when(buf.order()).thenReturn(BIG_ENDIAN);
        when(buf.maxCapacity()).thenReturn(65536);
        when(buf.readerIndex()).thenReturn(0);
        when(buf.writerIndex()).thenReturn(0);
        when(buf.capacity()).thenReturn(0);

        when(buf.getBytes(1, (GatheringByteChannel) null, 2)).thenReturn(3);
        when(buf.getBytes(4, (OutputStream) null, 5)).thenReturn(buf);
        when(buf.getBytes(6, (byte[]) null, 7, 8)).thenReturn(buf);
        when(buf.getBytes(9, (ByteBuf) null, 10, 11)).thenReturn(buf);
        when(buf.getBytes(12, (ByteBuffer) null)).thenReturn(buf);
        when(buf.getByte(13)).thenReturn(Byte.valueOf((byte) 14));
        when(buf.getShort(15)).thenReturn(Short.valueOf((short) 16));
        when(buf.getUnsignedMedium(17)).thenReturn(18);
        when(buf.getInt(19)).thenReturn(20);
        when(buf.getLong(21)).thenReturn(22L);

        ByteBuffer bb = ByteBuffer.allocate(100);

        when(buf.nioBuffer(23, 24)).thenReturn(bb);
        when(buf.capacity()).thenReturn(27);

        ByteBuf roBuf = unmodifiableBuffer(buf);
        assertEquals(3, roBuf.getBytes(1, (GatheringByteChannel) null, 2));
        roBuf.getBytes(4, (OutputStream) null, 5);
        roBuf.getBytes(6, (byte[]) null, 7, 8);
        roBuf.getBytes(9, (ByteBuf) null, 10, 11);

Frequently Asked Questions

What is the ReadOnlyByteBufTest class?
ReadOnlyByteBufTest is a class in the netty codebase, defined in buffer/src/test/java/io/netty/buffer/ReadOnlyByteBufTest.java.
Where is ReadOnlyByteBufTest defined?
ReadOnlyByteBufTest is defined in buffer/src/test/java/io/netty/buffer/ReadOnlyByteBufTest.java at line 47.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free