ProtobufVarint32LengthFieldPrependerTest Class — netty Architecture
Architecture documentation for the ProtobufVarint32LengthFieldPrependerTest class in ProtobufVarint32LengthFieldPrependerTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 6eaee290_afed_8a50_d035_25ef3cea2e1f["ProtobufVarint32LengthFieldPrependerTest"] 2e43e6f2_43ec_6305_afe1_4f5c9a4702ab["ProtobufVarint32LengthFieldPrependerTest.java"] 6eaee290_afed_8a50_d035_25ef3cea2e1f -->|defined in| 2e43e6f2_43ec_6305_afe1_4f5c9a4702ab fc861352_de76_0f33_f482_ce9d1ba68d2a["setUp()"] 6eaee290_afed_8a50_d035_25ef3cea2e1f -->|method| fc861352_de76_0f33_f482_ce9d1ba68d2a 4ef7e0a1_6114_5224_696d_eb58bcc532a2["testSize1Varint()"] 6eaee290_afed_8a50_d035_25ef3cea2e1f -->|method| 4ef7e0a1_6114_5224_696d_eb58bcc532a2 46b87780_dbdb_8b9c_b7e2_9d5c5b4c63ac["testSize2Varint()"] 6eaee290_afed_8a50_d035_25ef3cea2e1f -->|method| 46b87780_dbdb_8b9c_b7e2_9d5c5b4c63ac 901c51a0_35f8_47ad_5d37_c8777981fdaa["testSize3Varint()"] 6eaee290_afed_8a50_d035_25ef3cea2e1f -->|method| 901c51a0_35f8_47ad_5d37_c8777981fdaa a0e8cfba_48fd_051d_1689_75f9ac061d9b["testSize4Varint()"] 6eaee290_afed_8a50_d035_25ef3cea2e1f -->|method| a0e8cfba_48fd_051d_1689_75f9ac061d9b adc9573b_cbcd_c627_ea7f_ab445f91f417["testTinyEncode()"] 6eaee290_afed_8a50_d035_25ef3cea2e1f -->|method| adc9573b_cbcd_c627_ea7f_ab445f91f417 56756ab4_e132_ddb6_e1f4_74f764d2baef["testRegularDecode()"] 6eaee290_afed_8a50_d035_25ef3cea2e1f -->|method| 56756ab4_e132_ddb6_e1f4_74f764d2baef
Relationship Graph
Source Code
codec-protobuf/src/test/java/io/netty/handler/codec/protobuf/ProtobufVarint32LengthFieldPrependerTest.java lines 28–202
public class ProtobufVarint32LengthFieldPrependerTest {
private EmbeddedChannel ch;
@BeforeEach
public void setUp() {
ch = new EmbeddedChannel(new ProtobufVarint32LengthFieldPrepender());
}
@Test
public void testSize1Varint() {
final int size = 1;
final int num = 10;
assertEquals(size, ProtobufVarint32LengthFieldPrepender.computeRawVarint32Size(num));
final byte[] buf = new byte[size + num];
//0000 1010
buf[0] = 0x0A;
for (int i = size; i < num + size; ++i) {
buf[i] = 1;
}
assertTrue(ch.writeOutbound(wrappedBuffer(buf, size, buf.length - size)));
ByteBuf expected = wrappedBuffer(buf);
ByteBuf actual = ch.readOutbound();
assertEquals(expected, actual);
assertFalse(ch.finish());
expected.release();
actual.release();
}
@Test
public void testSize2Varint() {
final int size = 2;
final int num = 266;
assertEquals(size, ProtobufVarint32LengthFieldPrepender.computeRawVarint32Size(num));
final byte[] buf = new byte[size + num];
/**
* 8 A 0 2
* 1000 1010 0000 0010
* 0000 1010 0000 0010
* 0000 0010 0000 1010
* 000 0010 000 1010
*
* 0000 0001 0000 1010
* 0 1 0 A
* 266
*/
buf[0] = (byte) (0x8A & 0xFF);
buf[1] = 0x02;
for (int i = size; i < num + size; ++i) {
buf[i] = 1;
}
assertTrue(ch.writeOutbound(wrappedBuffer(buf, size, buf.length - size)));
ByteBuf expected = wrappedBuffer(buf);
ByteBuf actual = ch.readOutbound();
assertEquals(actual, expected);
assertFalse(ch.finish());
expected.release();
actual.release();
}
@Test
public void testSize3Varint() {
final int size = 3;
final int num = 0x4000;
assertEquals(size, ProtobufVarint32LengthFieldPrepender.computeRawVarint32Size(num));
final byte[] buf = new byte[size + num];
/**
* 8 0 8 0 0 1
* 1000 0000 1000 0000 0000 0001
* 0000 0000 0000 0000 0000 0001
* 0000 0001 0000 0000 0000 0000
* 000 0001 000 0000 000 0000
*
* 0 0000 0100 0000 0000 0000
Source
Frequently Asked Questions
What is the ProtobufVarint32LengthFieldPrependerTest class?
ProtobufVarint32LengthFieldPrependerTest is a class in the netty codebase, defined in codec-protobuf/src/test/java/io/netty/handler/codec/protobuf/ProtobufVarint32LengthFieldPrependerTest.java.
Where is ProtobufVarint32LengthFieldPrependerTest defined?
ProtobufVarint32LengthFieldPrependerTest is defined in codec-protobuf/src/test/java/io/netty/handler/codec/protobuf/ProtobufVarint32LengthFieldPrependerTest.java at line 28.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free