31 package com.google.protobuf;
35 import java.util.Collections;
36 import java.util.List;
37 import junit.framework.TestCase;
51 builder.addMessage(TestAllTypes.newBuilder().setOptionalInt32(0).
build());
52 builder.addMessage(TestAllTypes.newBuilder().setOptionalInt32(1).
build());
53 assertEquals(0, builder.getMessage(0).getOptionalInt32());
54 assertEquals(1, builder.getMessage(1).getOptionalInt32());
56 List<TestAllTypes> list = builder.build();
57 assertEquals(2, list.size());
58 assertEquals(0, list.get(0).getOptionalInt32());
59 assertEquals(1, list.get(1).getOptionalInt32());
63 List<TestAllTypes> list2 = builder.build();
64 assertSame(list, list2);
65 assertEquals(0, mockParent.getInvalidationCount());
72 builder.addMessage(TestAllTypes.newBuilder().setOptionalInt32(0).
build());
73 builder.addMessage(TestAllTypes.newBuilder().setOptionalInt32(1).
build());
74 assertEquals(0, builder.getMessage(0).getOptionalInt32());
75 assertEquals(1, builder.getMessage(1).getOptionalInt32());
78 List<TestAllTypes> list = builder.build();
79 assertEquals(2, list.size());
80 assertEquals(0, list.get(0).getOptionalInt32());
81 assertEquals(1, list.get(1).getOptionalInt32());
85 assertEquals(0, mockParent.getInvalidationCount());
86 builder.getBuilder(0).setOptionalString(
"foo");
87 assertEquals(1, mockParent.getInvalidationCount());
88 list = builder.build();
89 assertEquals(2, list.size());
90 assertEquals(0, list.get(0).getOptionalInt32());
91 assertEquals(
"foo", list.get(0).getOptionalString());
92 assertEquals(1, list.get(1).getOptionalInt32());
94 assertEquals(1, mockParent.getInvalidationCount());
101 builder.addMessage(TestAllTypes.newBuilder().setOptionalInt32(1).
build());
102 builder.addMessage(TestAllTypes.newBuilder().setOptionalInt32(2).
build());
103 builder.addBuilder(0, TestAllTypes.getDefaultInstance()).setOptionalInt32(0);
104 builder.addBuilder(TestAllTypes.getDefaultInstance()).setOptionalInt32(3);
106 assertEquals(0, builder.getMessage(0).getOptionalInt32());
107 assertEquals(1, builder.getMessage(1).getOptionalInt32());
108 assertEquals(2, builder.getMessage(2).getOptionalInt32());
109 assertEquals(3, builder.getMessage(3).getOptionalInt32());
111 assertEquals(0, mockParent.getInvalidationCount());
112 List<TestAllTypes> messages = builder.build();
113 assertEquals(4, messages.size());
114 assertSame(messages, builder.build());
118 assertEquals(1, mockParent.getInvalidationCount());
119 assertEquals(3, builder.getCount());
120 assertEquals(0, builder.getMessage(0).getOptionalInt32());
121 assertEquals(1, builder.getMessage(1).getOptionalInt32());
122 assertEquals(3, builder.getMessage(2).getOptionalInt32());
126 assertEquals(1, mockParent.getInvalidationCount());
127 assertEquals(2, builder.getCount());
128 assertEquals(1, builder.getMessage(0).getOptionalInt32());
129 assertEquals(3, builder.getMessage(1).getOptionalInt32());
133 assertEquals(1, mockParent.getInvalidationCount());
134 assertEquals(0, builder.getCount());
135 assertTrue(builder.isEmpty());
142 builder.addMessage(TestAllTypes.newBuilder().setOptionalInt32(1).
build());
143 builder.addMessage(0, TestAllTypes.newBuilder().setOptionalInt32(0).
build());
144 assertEquals(0, builder.getMessage(0).getOptionalInt32());
145 assertEquals(1, builder.getMessage(1).getOptionalInt32());
149 assertEquals(0, builders.get(0).getOptionalInt32());
150 assertEquals(1, builders.get(1).getOptionalInt32());
151 builders.get(0).setOptionalInt32(10);
152 builders.get(1).setOptionalInt32(11);
155 List<TestAllTypes> protos = builder.getMessageList();
156 assertEquals(10, protos.get(0).getOptionalInt32());
157 assertEquals(11, protos.get(1).getOptionalInt32());
160 builder.addMessage(TestAllTypes.newBuilder().setOptionalInt32(12).
build());
161 assertEquals(3, builders.size());
162 assertEquals(3, protos.size());
166 if (list == Collections.emptyList()) {
171 fail(
"List wasn't immutable");
172 }
catch (UnsupportedOperationException e) {
181 Collections.<TestAllTypes>emptyList(),
false, parent,
false);