assertEquals(2, msg.getNestedMsg().getBb());
assertEquals(SimpleMessageMicro.BAR, msg.getDefaultNestedEnum());
}
public void testRecursiveMessageMicro() throws Exception {
RecursiveMessageMicro msg = new RecursiveMessageMicro();
assertFalse(msg.hasId());
assertFalse(msg.hasNestedMessage());
assertFalse(msg.hasOptionalRecursiveMessageMicro());
assertEquals(0, msg.getRepeatedRecursiveMessageMicroCount());
RecursiveMessageMicro msg1 = new RecursiveMessageMicro();
msg1.setId(1);
assertEquals(1, msg1.getId());
RecursiveMessageMicro msg2 = new RecursiveMessageMicro();
msg2.setId(2);
RecursiveMessageMicro msg3 = new RecursiveMessageMicro();
msg3.setId(3);
RecursiveMessageMicro.NestedMessage nestedMsg = new RecursiveMessageMicro.NestedMessage();
nestedMsg.setA(msg1);
assertEquals(1, nestedMsg.getA().getId());
msg.setId(0);
msg.setNestedMessage(nestedMsg);
msg.setOptionalRecursiveMessageMicro(msg2);
msg.addRepeatedRecursiveMessageMicro(msg3);
byte [] result = msg.toByteArray();
int msgSerializedSize = msg.getSerializedSize();
//System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length);
assertTrue(msgSerializedSize == 16);
assertEquals(result.length, msgSerializedSize);
RecursiveMessageMicro newMsg = RecursiveMessageMicro.parseFrom(result);
assertTrue(newMsg.hasId());
assertTrue(newMsg.hasNestedMessage());
assertTrue(newMsg.hasOptionalRecursiveMessageMicro());
assertEquals(1, newMsg.getRepeatedRecursiveMessageMicroCount());
assertEquals(0, newMsg.getId());
assertEquals(1, newMsg.getNestedMessage().getA().getId());
assertEquals(2, newMsg.getOptionalRecursiveMessageMicro().getId());
assertEquals(3, newMsg.getRepeatedRecursiveMessageMicro(0).getId());
}