31 package com.google.protobuf;
33 import static org.junit.Assert.assertEquals;
34 import static org.junit.Assert.assertFalse;
35 import static org.junit.Assert.assertNull;
41 import java.io.ByteArrayOutputStream;
42 import java.io.IOException;
43 import java.util.List;
44 import org.junit.Test;
56 Proto2Message message1 =
58 .setFieldMessage10(
newBuilder().setFieldInt643(123).clearFieldInt325().build())
60 Proto2Message message2 =
62 .setFieldMessage10(
newBuilder().clearFieldInt643().setFieldInt325(456).build())
64 Proto2Message message3 =
66 .setFieldMessage10(
newBuilder().setFieldInt643(789).clearFieldInt325().build())
68 ByteArrayOutputStream
output =
new ByteArrayOutputStream();
75 assertEquals(789,
merged.getFieldMessage10().getFieldInt643());
76 assertEquals(456,
merged.getFieldMessage10().getFieldInt325());
102 Proto2Message.FieldGroup69.newBuilder().setFieldInt3270(
data().getInt()))
113 "Proto2MessageWithMaps",
115 Protobuf.getInstance().schemaFor(Proto2MessageWithMaps.class));
121 byte[] serializedBytes = expectedMessage.toByteArray();
128 assertEquals(serializedBytes.length, roundtripBytes.length);
129 Proto2Message roundtripMessage =
131 assertEquals(expectedMessage, roundtripMessage);
138 final int outOfRange = 1000;
139 assertNull(TestEnum.forNumber(outOfRange));
146 (
long) TestEnum.ONE_VALUE);
154 (
long) TestEnum.TWO_VALUE);
169 Proto2Message.FIELD_ENUM_LIST_PACKED_44_FIELD_NUMBER,
171 packedBuilder.build());
180 assertFalse(
"out-of-range singular enum should not be in message", parsed.hasFieldEnum13());
182 List<Long> singularEnum =
185 .getField(Proto2Message.FIELD_ENUM_13_FIELD_NUMBER)
187 assertEquals(1, singularEnum.size());
188 assertEquals((Long) (
long) outOfRange, singularEnum.get(0));
191 List<Long> repeatedEnum =
194 .getField(Proto2Message.FIELD_ENUM_LIST_30_FIELD_NUMBER)
196 assertEquals(1, repeatedEnum.size());
197 assertEquals((Long) (
long) outOfRange, repeatedEnum.get(0));
200 List<Long> packedRepeatedEnum =
203 .getField(Proto2Message.FIELD_ENUM_LIST_PACKED_44_FIELD_NUMBER)
205 assertEquals(1, packedRepeatedEnum.size());
206 assertEquals((Long) (
long) outOfRange, packedRepeatedEnum.get(0));
209 "out-of-range repeated enum should not be in message", 2, parsed.getFieldEnumList30Count());
210 assertEquals(TestEnum.ONE, parsed.getFieldEnumList30(0));
211 assertEquals(TestEnum.TWO, parsed.getFieldEnumList30(1));
213 "out-of-range packed repeated enum should not be in message",
215 parsed.getFieldEnumListPacked44Count());
216 assertEquals(TestEnum.ONE, parsed.getFieldEnumListPacked44(0));
217 assertEquals(TestEnum.TWO, parsed.getFieldEnumListPacked44(1));