| OLD | NEW |
| (Empty) |
| 1 // Protocol Buffers - Google's data interchange format | |
| 2 // Copyright 2008 Google Inc. All rights reserved. | |
| 3 // http://code.google.com/p/protobuf/ | |
| 4 // | |
| 5 // Redistribution and use in source and binary forms, with or without | |
| 6 // modification, are permitted provided that the following conditions are | |
| 7 // met: | |
| 8 // | |
| 9 // * Redistributions of source code must retain the above copyright | |
| 10 // notice, this list of conditions and the following disclaimer. | |
| 11 // * Redistributions in binary form must reproduce the above | |
| 12 // copyright notice, this list of conditions and the following disclaimer | |
| 13 // in the documentation and/or other materials provided with the | |
| 14 // distribution. | |
| 15 // * Neither the name of Google Inc. nor the names of its | |
| 16 // contributors may be used to endorse or promote products derived from | |
| 17 // this software without specific prior written permission. | |
| 18 // | |
| 19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
| 20 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
| 21 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
| 22 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
| 23 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
| 24 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
| 25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
| 26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
| 27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| 28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
| 29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 30 | |
| 31 package com.google.protobuf.test; | |
| 32 import com.google.protobuf.*; | |
| 33 | |
| 34 import protobuf_unittest.UnittestProto; | |
| 35 | |
| 36 // The static imports are to avoid 100+ char lines. The following is roughly eq
uivalent to | |
| 37 // import static protobuf_unittest.UnittestProto.*; | |
| 38 import static protobuf_unittest.UnittestProto.defaultInt32Extension; | |
| 39 import static protobuf_unittest.UnittestProto.defaultInt64Extension; | |
| 40 import static protobuf_unittest.UnittestProto.defaultUint32Extension; | |
| 41 import static protobuf_unittest.UnittestProto.defaultUint64Extension; | |
| 42 import static protobuf_unittest.UnittestProto.defaultSint32Extension; | |
| 43 import static protobuf_unittest.UnittestProto.defaultSint64Extension; | |
| 44 import static protobuf_unittest.UnittestProto.defaultFixed32Extension; | |
| 45 import static protobuf_unittest.UnittestProto.defaultFixed64Extension; | |
| 46 import static protobuf_unittest.UnittestProto.defaultSfixed32Extension; | |
| 47 import static protobuf_unittest.UnittestProto.defaultSfixed64Extension; | |
| 48 import static protobuf_unittest.UnittestProto.defaultFloatExtension; | |
| 49 import static protobuf_unittest.UnittestProto.defaultDoubleExtension; | |
| 50 import static protobuf_unittest.UnittestProto.defaultBoolExtension; | |
| 51 import static protobuf_unittest.UnittestProto.defaultStringExtension; | |
| 52 import static protobuf_unittest.UnittestProto.defaultBytesExtension; | |
| 53 import static protobuf_unittest.UnittestProto.defaultNestedEnumExtension; | |
| 54 import static protobuf_unittest.UnittestProto.defaultForeignEnumExtension; | |
| 55 import static protobuf_unittest.UnittestProto.defaultImportEnumExtension; | |
| 56 import static protobuf_unittest.UnittestProto.defaultStringPieceExtension; | |
| 57 import static protobuf_unittest.UnittestProto.defaultCordExtension; | |
| 58 | |
| 59 import static protobuf_unittest.UnittestProto.optionalInt32Extension; | |
| 60 import static protobuf_unittest.UnittestProto.optionalInt64Extension; | |
| 61 import static protobuf_unittest.UnittestProto.optionalUint32Extension; | |
| 62 import static protobuf_unittest.UnittestProto.optionalUint64Extension; | |
| 63 import static protobuf_unittest.UnittestProto.optionalSint32Extension; | |
| 64 import static protobuf_unittest.UnittestProto.optionalSint64Extension; | |
| 65 import static protobuf_unittest.UnittestProto.optionalFixed32Extension; | |
| 66 import static protobuf_unittest.UnittestProto.optionalFixed64Extension; | |
| 67 import static protobuf_unittest.UnittestProto.optionalSfixed32Extension; | |
| 68 import static protobuf_unittest.UnittestProto.optionalSfixed64Extension; | |
| 69 import static protobuf_unittest.UnittestProto.optionalFloatExtension; | |
| 70 import static protobuf_unittest.UnittestProto.optionalDoubleExtension; | |
| 71 import static protobuf_unittest.UnittestProto.optionalBoolExtension; | |
| 72 import static protobuf_unittest.UnittestProto.optionalStringExtension; | |
| 73 import static protobuf_unittest.UnittestProto.optionalBytesExtension; | |
| 74 import static protobuf_unittest.UnittestProto.optionalGroupExtension; | |
| 75 import static protobuf_unittest.UnittestProto.optionalCordExtension; | |
| 76 import static protobuf_unittest.UnittestProto.optionalForeignEnumExtension; | |
| 77 import static protobuf_unittest.UnittestProto.optionalForeignMessageExtension; | |
| 78 import static protobuf_unittest.UnittestProto.optionalImportEnumExtension; | |
| 79 import static protobuf_unittest.UnittestProto.optionalImportMessageExtension; | |
| 80 import static protobuf_unittest.UnittestProto.optionalNestedEnumExtension; | |
| 81 import static protobuf_unittest.UnittestProto.optionalNestedMessageExtension; | |
| 82 import static protobuf_unittest.UnittestProto.optionalPublicImportMessageExtensi
on; | |
| 83 import static protobuf_unittest.UnittestProto.optionalLazyMessageExtension; | |
| 84 import static protobuf_unittest.UnittestProto.optionalStringPieceExtension; | |
| 85 | |
| 86 import static protobuf_unittest.UnittestProto.repeatedInt32Extension; | |
| 87 import static protobuf_unittest.UnittestProto.repeatedInt64Extension; | |
| 88 import static protobuf_unittest.UnittestProto.repeatedUint32Extension; | |
| 89 import static protobuf_unittest.UnittestProto.repeatedUint64Extension; | |
| 90 import static protobuf_unittest.UnittestProto.repeatedSint32Extension; | |
| 91 import static protobuf_unittest.UnittestProto.repeatedSint64Extension; | |
| 92 import static protobuf_unittest.UnittestProto.repeatedFixed32Extension; | |
| 93 import static protobuf_unittest.UnittestProto.repeatedFixed64Extension; | |
| 94 import static protobuf_unittest.UnittestProto.repeatedSfixed32Extension; | |
| 95 import static protobuf_unittest.UnittestProto.repeatedSfixed64Extension; | |
| 96 import static protobuf_unittest.UnittestProto.repeatedFloatExtension; | |
| 97 import static protobuf_unittest.UnittestProto.repeatedDoubleExtension; | |
| 98 import static protobuf_unittest.UnittestProto.repeatedBoolExtension; | |
| 99 import static protobuf_unittest.UnittestProto.repeatedStringExtension; | |
| 100 import static protobuf_unittest.UnittestProto.repeatedBytesExtension; | |
| 101 import static protobuf_unittest.UnittestProto.repeatedGroupExtension; | |
| 102 import static protobuf_unittest.UnittestProto.repeatedNestedMessageExtension; | |
| 103 import static protobuf_unittest.UnittestProto.repeatedForeignMessageExtension; | |
| 104 import static protobuf_unittest.UnittestProto.repeatedImportMessageExtension; | |
| 105 import static protobuf_unittest.UnittestProto.repeatedLazyMessageExtension; | |
| 106 import static protobuf_unittest.UnittestProto.repeatedNestedEnumExtension; | |
| 107 import static protobuf_unittest.UnittestProto.repeatedForeignEnumExtension; | |
| 108 import static protobuf_unittest.UnittestProto.repeatedImportEnumExtension; | |
| 109 import static protobuf_unittest.UnittestProto.repeatedStringPieceExtension; | |
| 110 import static protobuf_unittest.UnittestProto.repeatedCordExtension; | |
| 111 | |
| 112 import static protobuf_unittest.UnittestProto.OptionalGroup_extension; | |
| 113 import static protobuf_unittest.UnittestProto.RepeatedGroup_extension; | |
| 114 | |
| 115 import static protobuf_unittest.UnittestProto.packedInt32Extension; | |
| 116 import static protobuf_unittest.UnittestProto.packedInt64Extension; | |
| 117 import static protobuf_unittest.UnittestProto.packedUint32Extension; | |
| 118 import static protobuf_unittest.UnittestProto.packedUint64Extension; | |
| 119 import static protobuf_unittest.UnittestProto.packedSint32Extension; | |
| 120 import static protobuf_unittest.UnittestProto.packedSint64Extension; | |
| 121 import static protobuf_unittest.UnittestProto.packedFixed32Extension; | |
| 122 import static protobuf_unittest.UnittestProto.packedFixed64Extension; | |
| 123 import static protobuf_unittest.UnittestProto.packedSfixed32Extension; | |
| 124 import static protobuf_unittest.UnittestProto.packedSfixed64Extension; | |
| 125 import static protobuf_unittest.UnittestProto.packedFloatExtension; | |
| 126 import static protobuf_unittest.UnittestProto.packedDoubleExtension; | |
| 127 import static protobuf_unittest.UnittestProto.packedBoolExtension; | |
| 128 import static protobuf_unittest.UnittestProto.packedEnumExtension; | |
| 129 | |
| 130 | |
| 131 import protobuf_unittest.UnittestProto.TestAllExtensions; | |
| 132 import protobuf_unittest.UnittestProto.TestAllExtensionsOrBuilder; | |
| 133 import protobuf_unittest.UnittestProto.TestAllTypes; | |
| 134 import protobuf_unittest.UnittestProto.TestAllTypesOrBuilder; | |
| 135 import protobuf_unittest.UnittestProto.TestPackedExtensions; | |
| 136 import protobuf_unittest.UnittestProto.TestPackedTypes; | |
| 137 import protobuf_unittest.UnittestProto.TestUnpackedTypes; | |
| 138 import protobuf_unittest.UnittestProto.ForeignMessage; | |
| 139 import protobuf_unittest.UnittestProto.ForeignEnum; | |
| 140 import com.google.protobuf.test.UnittestImport.ImportEnum; | |
| 141 import com.google.protobuf.test.UnittestImport.ImportMessage; | |
| 142 import com.google.protobuf.test.UnittestImportPublic.PublicImportMessage; | |
| 143 | |
| 144 import junit.framework.Assert; | |
| 145 | |
| 146 import java.io.File; | |
| 147 import java.io.IOException; | |
| 148 import java.io.RandomAccessFile; | |
| 149 | |
| 150 /** | |
| 151 * Contains methods for setting all fields of {@code TestAllTypes} to | |
| 152 * some values as well as checking that all the fields are set to those values. | |
| 153 * These are useful for testing various protocol message features, e.g. | |
| 154 * set all fields of a message, serialize it, parse it, and check that all | |
| 155 * fields are set. | |
| 156 * | |
| 157 * <p>This code is not to be used outside of {@code com.google.protobuf} and | |
| 158 * subpackages. | |
| 159 * | |
| 160 * @author kenton@google.com Kenton Varda | |
| 161 */ | |
| 162 public final class TestUtil { | |
| 163 private TestUtil() {} | |
| 164 | |
| 165 /** Helper to convert a String to ByteString. */ | |
| 166 static ByteString toBytes(String str) { | |
| 167 try { | |
| 168 return ByteString.copyFrom(str.getBytes("UTF-8")); | |
| 169 } catch(java.io.UnsupportedEncodingException e) { | |
| 170 throw new RuntimeException("UTF-8 not supported.", e); | |
| 171 } | |
| 172 } | |
| 173 | |
| 174 /** | |
| 175 * Get a {@code TestAllTypes} with all fields set as they would be by | |
| 176 * {@link #setAllFields(TestAllTypes.Builder)}. | |
| 177 */ | |
| 178 public static TestAllTypes getAllSet() { | |
| 179 TestAllTypes.Builder builder = TestAllTypes.newBuilder(); | |
| 180 setAllFields(builder); | |
| 181 return builder.build(); | |
| 182 } | |
| 183 | |
| 184 /** | |
| 185 * Get a {@code TestAllTypes.Builder} with all fields set as they would be by | |
| 186 * {@link #setAllFields(TestAllTypes.Builder)}. | |
| 187 */ | |
| 188 public static TestAllTypes.Builder getAllSetBuilder() { | |
| 189 TestAllTypes.Builder builder = TestAllTypes.newBuilder(); | |
| 190 setAllFields(builder); | |
| 191 return builder; | |
| 192 } | |
| 193 | |
| 194 /** | |
| 195 * Get a {@code TestAllExtensions} with all fields set as they would be by | |
| 196 * {@link #setAllExtensions(TestAllExtensions.Builder)}. | |
| 197 */ | |
| 198 public static TestAllExtensions getAllExtensionsSet() { | |
| 199 TestAllExtensions.Builder builder = TestAllExtensions.newBuilder(); | |
| 200 setAllExtensions(builder); | |
| 201 return builder.build(); | |
| 202 } | |
| 203 | |
| 204 public static TestPackedTypes getPackedSet() { | |
| 205 TestPackedTypes.Builder builder = TestPackedTypes.newBuilder(); | |
| 206 setPackedFields(builder); | |
| 207 return builder.build(); | |
| 208 } | |
| 209 | |
| 210 public static TestUnpackedTypes getUnpackedSet() { | |
| 211 TestUnpackedTypes.Builder builder = TestUnpackedTypes.newBuilder(); | |
| 212 setUnpackedFields(builder); | |
| 213 return builder.build(); | |
| 214 } | |
| 215 | |
| 216 public static TestPackedExtensions getPackedExtensionsSet() { | |
| 217 TestPackedExtensions.Builder builder = TestPackedExtensions.newBuilder(); | |
| 218 setPackedExtensions(builder); | |
| 219 return builder.build(); | |
| 220 } | |
| 221 | |
| 222 /** | |
| 223 * Set every field of {@code message} to the values expected by | |
| 224 * {@code assertAllFieldsSet()}. | |
| 225 */ | |
| 226 public static void setAllFields(TestAllTypes.Builder message) { | |
| 227 message.setOptionalInt32 (101); | |
| 228 message.setOptionalInt64 (102); | |
| 229 message.setOptionalUint32 (103); | |
| 230 message.setOptionalUint64 (104); | |
| 231 message.setOptionalSint32 (105); | |
| 232 message.setOptionalSint64 (106); | |
| 233 message.setOptionalFixed32 (107); | |
| 234 message.setOptionalFixed64 (108); | |
| 235 message.setOptionalSfixed32(109); | |
| 236 message.setOptionalSfixed64(110); | |
| 237 message.setOptionalFloat (111); | |
| 238 message.setOptionalDouble (112); | |
| 239 message.setOptionalBool (true); | |
| 240 message.setOptionalString ("115"); | |
| 241 message.setOptionalBytes (toBytes("116")); | |
| 242 | |
| 243 message.setOptionalGroup( | |
| 244 TestAllTypes.OptionalGroup.newBuilder().setA(117).build()); | |
| 245 message.setOptionalNestedMessage( | |
| 246 TestAllTypes.NestedMessage.newBuilder().setBb(118).build()); | |
| 247 message.setOptionalForeignMessage( | |
| 248 ForeignMessage.newBuilder().setC(119).build()); | |
| 249 message.setOptionalImportMessage( | |
| 250 ImportMessage.newBuilder().setD(120).build()); | |
| 251 message.setOptionalPublicImportMessage( | |
| 252 PublicImportMessage.newBuilder().setE(126).build()); | |
| 253 message.setOptionalLazyMessage( | |
| 254 TestAllTypes.NestedMessage.newBuilder().setBb(127).build()); | |
| 255 | |
| 256 message.setOptionalNestedEnum (TestAllTypes.NestedEnum.BAZ); | |
| 257 message.setOptionalForeignEnum(ForeignEnum.FOREIGN_BAZ); | |
| 258 message.setOptionalImportEnum (ImportEnum.IMPORT_BAZ); | |
| 259 | |
| 260 message.setOptionalStringPiece("124"); | |
| 261 message.setOptionalCord("125"); | |
| 262 | |
| 263 // ----------------------------------------------------------------- | |
| 264 | |
| 265 message.addRepeatedInt32 (201); | |
| 266 message.addRepeatedInt64 (202); | |
| 267 message.addRepeatedUint32 (203); | |
| 268 message.addRepeatedUint64 (204); | |
| 269 message.addRepeatedSint32 (205); | |
| 270 message.addRepeatedSint64 (206); | |
| 271 message.addRepeatedFixed32 (207); | |
| 272 message.addRepeatedFixed64 (208); | |
| 273 message.addRepeatedSfixed32(209); | |
| 274 message.addRepeatedSfixed64(210); | |
| 275 message.addRepeatedFloat (211); | |
| 276 message.addRepeatedDouble (212); | |
| 277 message.addRepeatedBool (true); | |
| 278 message.addRepeatedString ("215"); | |
| 279 message.addRepeatedBytes (toBytes("216")); | |
| 280 | |
| 281 message.addRepeatedGroup( | |
| 282 TestAllTypes.RepeatedGroup.newBuilder().setA(217).build()); | |
| 283 message.addRepeatedNestedMessage( | |
| 284 TestAllTypes.NestedMessage.newBuilder().setBb(218).build()); | |
| 285 message.addRepeatedForeignMessage( | |
| 286 ForeignMessage.newBuilder().setC(219).build()); | |
| 287 message.addRepeatedImportMessage( | |
| 288 ImportMessage.newBuilder().setD(220).build()); | |
| 289 message.addRepeatedLazyMessage( | |
| 290 TestAllTypes.NestedMessage.newBuilder().setBb(227).build()); | |
| 291 | |
| 292 message.addRepeatedNestedEnum (TestAllTypes.NestedEnum.BAR); | |
| 293 message.addRepeatedForeignEnum(ForeignEnum.FOREIGN_BAR); | |
| 294 message.addRepeatedImportEnum (ImportEnum.IMPORT_BAR); | |
| 295 | |
| 296 message.addRepeatedStringPiece("224"); | |
| 297 message.addRepeatedCord("225"); | |
| 298 | |
| 299 // Add a second one of each field. | |
| 300 message.addRepeatedInt32 (301); | |
| 301 message.addRepeatedInt64 (302); | |
| 302 message.addRepeatedUint32 (303); | |
| 303 message.addRepeatedUint64 (304); | |
| 304 message.addRepeatedSint32 (305); | |
| 305 message.addRepeatedSint64 (306); | |
| 306 message.addRepeatedFixed32 (307); | |
| 307 message.addRepeatedFixed64 (308); | |
| 308 message.addRepeatedSfixed32(309); | |
| 309 message.addRepeatedSfixed64(310); | |
| 310 message.addRepeatedFloat (311); | |
| 311 message.addRepeatedDouble (312); | |
| 312 message.addRepeatedBool (false); | |
| 313 message.addRepeatedString ("315"); | |
| 314 message.addRepeatedBytes (toBytes("316")); | |
| 315 | |
| 316 message.addRepeatedGroup( | |
| 317 TestAllTypes.RepeatedGroup.newBuilder().setA(317).build()); | |
| 318 message.addRepeatedNestedMessage( | |
| 319 TestAllTypes.NestedMessage.newBuilder().setBb(318).build()); | |
| 320 message.addRepeatedForeignMessage( | |
| 321 ForeignMessage.newBuilder().setC(319).build()); | |
| 322 message.addRepeatedImportMessage( | |
| 323 ImportMessage.newBuilder().setD(320).build()); | |
| 324 message.addRepeatedLazyMessage( | |
| 325 TestAllTypes.NestedMessage.newBuilder().setBb(327).build()); | |
| 326 | |
| 327 message.addRepeatedNestedEnum (TestAllTypes.NestedEnum.BAZ); | |
| 328 message.addRepeatedForeignEnum(ForeignEnum.FOREIGN_BAZ); | |
| 329 message.addRepeatedImportEnum (ImportEnum.IMPORT_BAZ); | |
| 330 | |
| 331 message.addRepeatedStringPiece("324"); | |
| 332 message.addRepeatedCord("325"); | |
| 333 | |
| 334 // ----------------------------------------------------------------- | |
| 335 | |
| 336 message.setDefaultInt32 (401); | |
| 337 message.setDefaultInt64 (402); | |
| 338 message.setDefaultUint32 (403); | |
| 339 message.setDefaultUint64 (404); | |
| 340 message.setDefaultSint32 (405); | |
| 341 message.setDefaultSint64 (406); | |
| 342 message.setDefaultFixed32 (407); | |
| 343 message.setDefaultFixed64 (408); | |
| 344 message.setDefaultSfixed32(409); | |
| 345 message.setDefaultSfixed64(410); | |
| 346 message.setDefaultFloat (411); | |
| 347 message.setDefaultDouble (412); | |
| 348 message.setDefaultBool (false); | |
| 349 message.setDefaultString ("415"); | |
| 350 message.setDefaultBytes (toBytes("416")); | |
| 351 | |
| 352 message.setDefaultNestedEnum (TestAllTypes.NestedEnum.FOO); | |
| 353 message.setDefaultForeignEnum(ForeignEnum.FOREIGN_FOO); | |
| 354 message.setDefaultImportEnum (ImportEnum.IMPORT_FOO); | |
| 355 | |
| 356 message.setDefaultStringPiece("424"); | |
| 357 message.setDefaultCord("425"); | |
| 358 } | |
| 359 | |
| 360 // ------------------------------------------------------------------- | |
| 361 | |
| 362 /** | |
| 363 * Modify the repeated fields of {@code message} to contain the values | |
| 364 * expected by {@code assertRepeatedFieldsModified()}. | |
| 365 */ | |
| 366 public static void modifyRepeatedFields(TestAllTypes.Builder message) { | |
| 367 message.setRepeatedInt32 (1, 501); | |
| 368 message.setRepeatedInt64 (1, 502); | |
| 369 message.setRepeatedUint32 (1, 503); | |
| 370 message.setRepeatedUint64 (1, 504); | |
| 371 message.setRepeatedSint32 (1, 505); | |
| 372 message.setRepeatedSint64 (1, 506); | |
| 373 message.setRepeatedFixed32 (1, 507); | |
| 374 message.setRepeatedFixed64 (1, 508); | |
| 375 message.setRepeatedSfixed32(1, 509); | |
| 376 message.setRepeatedSfixed64(1, 510); | |
| 377 message.setRepeatedFloat (1, 511); | |
| 378 message.setRepeatedDouble (1, 512); | |
| 379 message.setRepeatedBool (1, true); | |
| 380 message.setRepeatedString (1, "515"); | |
| 381 message.setRepeatedBytes (1, toBytes("516")); | |
| 382 | |
| 383 message.setRepeatedGroup(1, | |
| 384 TestAllTypes.RepeatedGroup.newBuilder().setA(517).build()); | |
| 385 message.setRepeatedNestedMessage(1, | |
| 386 TestAllTypes.NestedMessage.newBuilder().setBb(518).build()); | |
| 387 message.setRepeatedForeignMessage(1, | |
| 388 ForeignMessage.newBuilder().setC(519).build()); | |
| 389 message.setRepeatedImportMessage(1, | |
| 390 ImportMessage.newBuilder().setD(520).build()); | |
| 391 message.setRepeatedLazyMessage(1, | |
| 392 TestAllTypes.NestedMessage.newBuilder().setBb(527).build()); | |
| 393 | |
| 394 message.setRepeatedNestedEnum (1, TestAllTypes.NestedEnum.FOO); | |
| 395 message.setRepeatedForeignEnum(1, ForeignEnum.FOREIGN_FOO); | |
| 396 message.setRepeatedImportEnum (1, ImportEnum.IMPORT_FOO); | |
| 397 | |
| 398 message.setRepeatedStringPiece(1, "524"); | |
| 399 message.setRepeatedCord(1, "525"); | |
| 400 } | |
| 401 | |
| 402 // ------------------------------------------------------------------- | |
| 403 | |
| 404 /** | |
| 405 * Assert (using {@code junit.framework.Assert}} that all fields of | |
| 406 * {@code message} are set to the values assigned by {@code setAllFields}. | |
| 407 */ | |
| 408 public static void assertAllFieldsSet(TestAllTypesOrBuilder message) { | |
| 409 Assert.assertTrue(message.hasOptionalInt32 ()); | |
| 410 Assert.assertTrue(message.hasOptionalInt64 ()); | |
| 411 Assert.assertTrue(message.hasOptionalUint32 ()); | |
| 412 Assert.assertTrue(message.hasOptionalUint64 ()); | |
| 413 Assert.assertTrue(message.hasOptionalSint32 ()); | |
| 414 Assert.assertTrue(message.hasOptionalSint64 ()); | |
| 415 Assert.assertTrue(message.hasOptionalFixed32 ()); | |
| 416 Assert.assertTrue(message.hasOptionalFixed64 ()); | |
| 417 Assert.assertTrue(message.hasOptionalSfixed32()); | |
| 418 Assert.assertTrue(message.hasOptionalSfixed64()); | |
| 419 Assert.assertTrue(message.hasOptionalFloat ()); | |
| 420 Assert.assertTrue(message.hasOptionalDouble ()); | |
| 421 Assert.assertTrue(message.hasOptionalBool ()); | |
| 422 Assert.assertTrue(message.hasOptionalString ()); | |
| 423 Assert.assertTrue(message.hasOptionalBytes ()); | |
| 424 | |
| 425 Assert.assertTrue(message.hasOptionalGroup ()); | |
| 426 Assert.assertTrue(message.hasOptionalNestedMessage ()); | |
| 427 Assert.assertTrue(message.hasOptionalForeignMessage()); | |
| 428 Assert.assertTrue(message.hasOptionalImportMessage ()); | |
| 429 | |
| 430 Assert.assertTrue(message.getOptionalGroup ().hasA()); | |
| 431 Assert.assertTrue(message.getOptionalNestedMessage ().hasBb()); | |
| 432 Assert.assertTrue(message.getOptionalForeignMessage().hasC()); | |
| 433 Assert.assertTrue(message.getOptionalImportMessage ().hasD()); | |
| 434 | |
| 435 Assert.assertTrue(message.hasOptionalNestedEnum ()); | |
| 436 Assert.assertTrue(message.hasOptionalForeignEnum()); | |
| 437 Assert.assertTrue(message.hasOptionalImportEnum ()); | |
| 438 | |
| 439 Assert.assertTrue(message.hasOptionalStringPiece()); | |
| 440 Assert.assertTrue(message.hasOptionalCord()); | |
| 441 | |
| 442 Assert.assertEquals(101 , message.getOptionalInt32 ()); | |
| 443 Assert.assertEquals(102 , message.getOptionalInt64 ()); | |
| 444 Assert.assertEquals(103 , message.getOptionalUint32 ()); | |
| 445 Assert.assertEquals(104 , message.getOptionalUint64 ()); | |
| 446 Assert.assertEquals(105 , message.getOptionalSint32 ()); | |
| 447 Assert.assertEquals(106 , message.getOptionalSint64 ()); | |
| 448 Assert.assertEquals(107 , message.getOptionalFixed32 ()); | |
| 449 Assert.assertEquals(108 , message.getOptionalFixed64 ()); | |
| 450 Assert.assertEquals(109 , message.getOptionalSfixed32()); | |
| 451 Assert.assertEquals(110 , message.getOptionalSfixed64()); | |
| 452 Assert.assertEquals(111 , message.getOptionalFloat (), 0.0); | |
| 453 Assert.assertEquals(112 , message.getOptionalDouble (), 0.0); | |
| 454 Assert.assertEquals(true , message.getOptionalBool ()); | |
| 455 Assert.assertEquals("115", message.getOptionalString ()); | |
| 456 Assert.assertEquals(toBytes("116"), message.getOptionalBytes()); | |
| 457 | |
| 458 Assert.assertEquals(117, message.getOptionalGroup ().getA()); | |
| 459 Assert.assertEquals(118, message.getOptionalNestedMessage ().getBb()); | |
| 460 Assert.assertEquals(119, message.getOptionalForeignMessage ().getC()); | |
| 461 Assert.assertEquals(120, message.getOptionalImportMessage ().getD()); | |
| 462 Assert.assertEquals(126, message.getOptionalPublicImportMessage().getE()); | |
| 463 Assert.assertEquals(127, message.getOptionalLazyMessage ().getBb()); | |
| 464 | |
| 465 Assert.assertEquals(TestAllTypes.NestedEnum.BAZ, message.getOptionalNestedEn
um()); | |
| 466 Assert.assertEquals(ForeignEnum.FOREIGN_BAZ, message.getOptionalForeignEnum(
)); | |
| 467 Assert.assertEquals(ImportEnum.IMPORT_BAZ, message.getOptionalImportEnum()); | |
| 468 | |
| 469 Assert.assertEquals("124", message.getOptionalStringPiece()); | |
| 470 Assert.assertEquals("125", message.getOptionalCord()); | |
| 471 | |
| 472 // ----------------------------------------------------------------- | |
| 473 | |
| 474 Assert.assertEquals(2, message.getRepeatedInt32Count ()); | |
| 475 Assert.assertEquals(2, message.getRepeatedInt64Count ()); | |
| 476 Assert.assertEquals(2, message.getRepeatedUint32Count ()); | |
| 477 Assert.assertEquals(2, message.getRepeatedUint64Count ()); | |
| 478 Assert.assertEquals(2, message.getRepeatedSint32Count ()); | |
| 479 Assert.assertEquals(2, message.getRepeatedSint64Count ()); | |
| 480 Assert.assertEquals(2, message.getRepeatedFixed32Count ()); | |
| 481 Assert.assertEquals(2, message.getRepeatedFixed64Count ()); | |
| 482 Assert.assertEquals(2, message.getRepeatedSfixed32Count()); | |
| 483 Assert.assertEquals(2, message.getRepeatedSfixed64Count()); | |
| 484 Assert.assertEquals(2, message.getRepeatedFloatCount ()); | |
| 485 Assert.assertEquals(2, message.getRepeatedDoubleCount ()); | |
| 486 Assert.assertEquals(2, message.getRepeatedBoolCount ()); | |
| 487 Assert.assertEquals(2, message.getRepeatedStringCount ()); | |
| 488 Assert.assertEquals(2, message.getRepeatedBytesCount ()); | |
| 489 | |
| 490 Assert.assertEquals(2, message.getRepeatedGroupCount ()); | |
| 491 Assert.assertEquals(2, message.getRepeatedNestedMessageCount ()); | |
| 492 Assert.assertEquals(2, message.getRepeatedForeignMessageCount()); | |
| 493 Assert.assertEquals(2, message.getRepeatedImportMessageCount ()); | |
| 494 Assert.assertEquals(2, message.getRepeatedLazyMessageCount ()); | |
| 495 Assert.assertEquals(2, message.getRepeatedNestedEnumCount ()); | |
| 496 Assert.assertEquals(2, message.getRepeatedForeignEnumCount ()); | |
| 497 Assert.assertEquals(2, message.getRepeatedImportEnumCount ()); | |
| 498 | |
| 499 Assert.assertEquals(2, message.getRepeatedStringPieceCount()); | |
| 500 Assert.assertEquals(2, message.getRepeatedCordCount()); | |
| 501 | |
| 502 Assert.assertEquals(201 , message.getRepeatedInt32 (0)); | |
| 503 Assert.assertEquals(202 , message.getRepeatedInt64 (0)); | |
| 504 Assert.assertEquals(203 , message.getRepeatedUint32 (0)); | |
| 505 Assert.assertEquals(204 , message.getRepeatedUint64 (0)); | |
| 506 Assert.assertEquals(205 , message.getRepeatedSint32 (0)); | |
| 507 Assert.assertEquals(206 , message.getRepeatedSint64 (0)); | |
| 508 Assert.assertEquals(207 , message.getRepeatedFixed32 (0)); | |
| 509 Assert.assertEquals(208 , message.getRepeatedFixed64 (0)); | |
| 510 Assert.assertEquals(209 , message.getRepeatedSfixed32(0)); | |
| 511 Assert.assertEquals(210 , message.getRepeatedSfixed64(0)); | |
| 512 Assert.assertEquals(211 , message.getRepeatedFloat (0), 0.0); | |
| 513 Assert.assertEquals(212 , message.getRepeatedDouble (0), 0.0); | |
| 514 Assert.assertEquals(true , message.getRepeatedBool (0)); | |
| 515 Assert.assertEquals("215", message.getRepeatedString (0)); | |
| 516 Assert.assertEquals(toBytes("216"), message.getRepeatedBytes(0)); | |
| 517 | |
| 518 Assert.assertEquals(217, message.getRepeatedGroup (0).getA()); | |
| 519 Assert.assertEquals(218, message.getRepeatedNestedMessage (0).getBb()); | |
| 520 Assert.assertEquals(219, message.getRepeatedForeignMessage(0).getC()); | |
| 521 Assert.assertEquals(220, message.getRepeatedImportMessage (0).getD()); | |
| 522 Assert.assertEquals(227, message.getRepeatedLazyMessage (0).getBb()); | |
| 523 | |
| 524 Assert.assertEquals(TestAllTypes.NestedEnum.BAR, message.getRepeatedNestedEn
um (0)); | |
| 525 Assert.assertEquals(ForeignEnum.FOREIGN_BAR, message.getRepeatedForeignEnum(
0)); | |
| 526 Assert.assertEquals(ImportEnum.IMPORT_BAR, message.getRepeatedImportEnum(0))
; | |
| 527 | |
| 528 Assert.assertEquals("224", message.getRepeatedStringPiece(0)); | |
| 529 Assert.assertEquals("225", message.getRepeatedCord(0)); | |
| 530 | |
| 531 Assert.assertEquals(301 , message.getRepeatedInt32 (1)); | |
| 532 Assert.assertEquals(302 , message.getRepeatedInt64 (1)); | |
| 533 Assert.assertEquals(303 , message.getRepeatedUint32 (1)); | |
| 534 Assert.assertEquals(304 , message.getRepeatedUint64 (1)); | |
| 535 Assert.assertEquals(305 , message.getRepeatedSint32 (1)); | |
| 536 Assert.assertEquals(306 , message.getRepeatedSint64 (1)); | |
| 537 Assert.assertEquals(307 , message.getRepeatedFixed32 (1)); | |
| 538 Assert.assertEquals(308 , message.getRepeatedFixed64 (1)); | |
| 539 Assert.assertEquals(309 , message.getRepeatedSfixed32(1)); | |
| 540 Assert.assertEquals(310 , message.getRepeatedSfixed64(1)); | |
| 541 Assert.assertEquals(311 , message.getRepeatedFloat (1), 0.0); | |
| 542 Assert.assertEquals(312 , message.getRepeatedDouble (1), 0.0); | |
| 543 Assert.assertEquals(false, message.getRepeatedBool (1)); | |
| 544 Assert.assertEquals("315", message.getRepeatedString (1)); | |
| 545 Assert.assertEquals(toBytes("316"), message.getRepeatedBytes(1)); | |
| 546 | |
| 547 Assert.assertEquals(317, message.getRepeatedGroup (1).getA()); | |
| 548 Assert.assertEquals(318, message.getRepeatedNestedMessage (1).getBb()); | |
| 549 Assert.assertEquals(319, message.getRepeatedForeignMessage(1).getC()); | |
| 550 Assert.assertEquals(320, message.getRepeatedImportMessage (1).getD()); | |
| 551 Assert.assertEquals(327, message.getRepeatedLazyMessage (1).getBb()); | |
| 552 | |
| 553 Assert.assertEquals(TestAllTypes.NestedEnum.BAZ, message.getRepeatedNestedEn
um (1)); | |
| 554 Assert.assertEquals(ForeignEnum.FOREIGN_BAZ, message.getRepeatedForeignEnum(
1)); | |
| 555 Assert.assertEquals(ImportEnum.IMPORT_BAZ, message.getRepeatedImportEnum(1))
; | |
| 556 | |
| 557 Assert.assertEquals("324", message.getRepeatedStringPiece(1)); | |
| 558 Assert.assertEquals("325", message.getRepeatedCord(1)); | |
| 559 | |
| 560 // ----------------------------------------------------------------- | |
| 561 | |
| 562 Assert.assertTrue(message.hasDefaultInt32 ()); | |
| 563 Assert.assertTrue(message.hasDefaultInt64 ()); | |
| 564 Assert.assertTrue(message.hasDefaultUint32 ()); | |
| 565 Assert.assertTrue(message.hasDefaultUint64 ()); | |
| 566 Assert.assertTrue(message.hasDefaultSint32 ()); | |
| 567 Assert.assertTrue(message.hasDefaultSint64 ()); | |
| 568 Assert.assertTrue(message.hasDefaultFixed32 ()); | |
| 569 Assert.assertTrue(message.hasDefaultFixed64 ()); | |
| 570 Assert.assertTrue(message.hasDefaultSfixed32()); | |
| 571 Assert.assertTrue(message.hasDefaultSfixed64()); | |
| 572 Assert.assertTrue(message.hasDefaultFloat ()); | |
| 573 Assert.assertTrue(message.hasDefaultDouble ()); | |
| 574 Assert.assertTrue(message.hasDefaultBool ()); | |
| 575 Assert.assertTrue(message.hasDefaultString ()); | |
| 576 Assert.assertTrue(message.hasDefaultBytes ()); | |
| 577 | |
| 578 Assert.assertTrue(message.hasDefaultNestedEnum ()); | |
| 579 Assert.assertTrue(message.hasDefaultForeignEnum()); | |
| 580 Assert.assertTrue(message.hasDefaultImportEnum ()); | |
| 581 | |
| 582 Assert.assertTrue(message.hasDefaultStringPiece()); | |
| 583 Assert.assertTrue(message.hasDefaultCord()); | |
| 584 | |
| 585 Assert.assertEquals(401 , message.getDefaultInt32 ()); | |
| 586 Assert.assertEquals(402 , message.getDefaultInt64 ()); | |
| 587 Assert.assertEquals(403 , message.getDefaultUint32 ()); | |
| 588 Assert.assertEquals(404 , message.getDefaultUint64 ()); | |
| 589 Assert.assertEquals(405 , message.getDefaultSint32 ()); | |
| 590 Assert.assertEquals(406 , message.getDefaultSint64 ()); | |
| 591 Assert.assertEquals(407 , message.getDefaultFixed32 ()); | |
| 592 Assert.assertEquals(408 , message.getDefaultFixed64 ()); | |
| 593 Assert.assertEquals(409 , message.getDefaultSfixed32()); | |
| 594 Assert.assertEquals(410 , message.getDefaultSfixed64()); | |
| 595 Assert.assertEquals(411 , message.getDefaultFloat (), 0.0); | |
| 596 Assert.assertEquals(412 , message.getDefaultDouble (), 0.0); | |
| 597 Assert.assertEquals(false, message.getDefaultBool ()); | |
| 598 Assert.assertEquals("415", message.getDefaultString ()); | |
| 599 Assert.assertEquals(toBytes("416"), message.getDefaultBytes()); | |
| 600 | |
| 601 Assert.assertEquals(TestAllTypes.NestedEnum.FOO, message.getDefaultNestedEnu
m ()); | |
| 602 Assert.assertEquals(ForeignEnum.FOREIGN_FOO, message.getDefaultForeignEnum()
); | |
| 603 Assert.assertEquals(ImportEnum.IMPORT_FOO, message.getDefaultImportEnum()); | |
| 604 | |
| 605 Assert.assertEquals("424", message.getDefaultStringPiece()); | |
| 606 Assert.assertEquals("425", message.getDefaultCord()); | |
| 607 } | |
| 608 | |
| 609 // ------------------------------------------------------------------- | |
| 610 /** | |
| 611 * Assert (using {@code junit.framework.Assert}} that all fields of | |
| 612 * {@code message} are cleared, and that getting the fields returns their | |
| 613 * default values. | |
| 614 */ | |
| 615 public static void assertClear(TestAllTypesOrBuilder message) { | |
| 616 // hasBlah() should initially be false for all optional fields. | |
| 617 Assert.assertFalse(message.hasOptionalInt32 ()); | |
| 618 Assert.assertFalse(message.hasOptionalInt64 ()); | |
| 619 Assert.assertFalse(message.hasOptionalUint32 ()); | |
| 620 Assert.assertFalse(message.hasOptionalUint64 ()); | |
| 621 Assert.assertFalse(message.hasOptionalSint32 ()); | |
| 622 Assert.assertFalse(message.hasOptionalSint64 ()); | |
| 623 Assert.assertFalse(message.hasOptionalFixed32 ()); | |
| 624 Assert.assertFalse(message.hasOptionalFixed64 ()); | |
| 625 Assert.assertFalse(message.hasOptionalSfixed32()); | |
| 626 Assert.assertFalse(message.hasOptionalSfixed64()); | |
| 627 Assert.assertFalse(message.hasOptionalFloat ()); | |
| 628 Assert.assertFalse(message.hasOptionalDouble ()); | |
| 629 Assert.assertFalse(message.hasOptionalBool ()); | |
| 630 Assert.assertFalse(message.hasOptionalString ()); | |
| 631 Assert.assertFalse(message.hasOptionalBytes ()); | |
| 632 | |
| 633 Assert.assertFalse(message.hasOptionalGroup ()); | |
| 634 Assert.assertFalse(message.hasOptionalNestedMessage ()); | |
| 635 Assert.assertFalse(message.hasOptionalForeignMessage()); | |
| 636 Assert.assertFalse(message.hasOptionalImportMessage ()); | |
| 637 | |
| 638 Assert.assertFalse(message.hasOptionalNestedEnum ()); | |
| 639 Assert.assertFalse(message.hasOptionalForeignEnum()); | |
| 640 Assert.assertFalse(message.hasOptionalImportEnum ()); | |
| 641 | |
| 642 Assert.assertFalse(message.hasOptionalStringPiece()); | |
| 643 Assert.assertFalse(message.hasOptionalCord()); | |
| 644 | |
| 645 // Optional fields without defaults are set to zero or something like it. | |
| 646 Assert.assertEquals(0 , message.getOptionalInt32 ()); | |
| 647 Assert.assertEquals(0 , message.getOptionalInt64 ()); | |
| 648 Assert.assertEquals(0 , message.getOptionalUint32 ()); | |
| 649 Assert.assertEquals(0 , message.getOptionalUint64 ()); | |
| 650 Assert.assertEquals(0 , message.getOptionalSint32 ()); | |
| 651 Assert.assertEquals(0 , message.getOptionalSint64 ()); | |
| 652 Assert.assertEquals(0 , message.getOptionalFixed32 ()); | |
| 653 Assert.assertEquals(0 , message.getOptionalFixed64 ()); | |
| 654 Assert.assertEquals(0 , message.getOptionalSfixed32()); | |
| 655 Assert.assertEquals(0 , message.getOptionalSfixed64()); | |
| 656 Assert.assertEquals(0 , message.getOptionalFloat (), 0.0); | |
| 657 Assert.assertEquals(0 , message.getOptionalDouble (), 0.0); | |
| 658 Assert.assertEquals(false, message.getOptionalBool ()); | |
| 659 Assert.assertEquals("" , message.getOptionalString ()); | |
| 660 Assert.assertEquals(ByteString.EMPTY, message.getOptionalBytes()); | |
| 661 | |
| 662 // Embedded messages should also be clear. | |
| 663 Assert.assertFalse(message.getOptionalGroup ().hasA()); | |
| 664 Assert.assertFalse(message.getOptionalNestedMessage ().hasBb()); | |
| 665 Assert.assertFalse(message.getOptionalForeignMessage ().hasC()); | |
| 666 Assert.assertFalse(message.getOptionalImportMessage ().hasD()); | |
| 667 Assert.assertFalse(message.getOptionalPublicImportMessage().hasE()); | |
| 668 Assert.assertFalse(message.getOptionalLazyMessage ().hasBb()); | |
| 669 | |
| 670 Assert.assertEquals(0, message.getOptionalGroup ().getA()); | |
| 671 Assert.assertEquals(0, message.getOptionalNestedMessage ().getBb()); | |
| 672 Assert.assertEquals(0, message.getOptionalForeignMessage ().getC()); | |
| 673 Assert.assertEquals(0, message.getOptionalImportMessage ().getD()); | |
| 674 Assert.assertEquals(0, message.getOptionalPublicImportMessage().getE()); | |
| 675 Assert.assertEquals(0, message.getOptionalLazyMessage ().getBb()); | |
| 676 | |
| 677 // Enums without defaults are set to the first value in the enum. | |
| 678 Assert.assertEquals(TestAllTypes.NestedEnum.FOO, message.getOptionalNestedEn
um ()); | |
| 679 Assert.assertEquals(ForeignEnum.FOREIGN_FOO, message.getOptionalForeignEnum(
)); | |
| 680 Assert.assertEquals(ImportEnum.IMPORT_FOO, message.getOptionalImportEnum()); | |
| 681 | |
| 682 Assert.assertEquals("", message.getOptionalStringPiece()); | |
| 683 Assert.assertEquals("", message.getOptionalCord()); | |
| 684 | |
| 685 // Repeated fields are empty. | |
| 686 Assert.assertEquals(0, message.getRepeatedInt32Count ()); | |
| 687 Assert.assertEquals(0, message.getRepeatedInt64Count ()); | |
| 688 Assert.assertEquals(0, message.getRepeatedUint32Count ()); | |
| 689 Assert.assertEquals(0, message.getRepeatedUint64Count ()); | |
| 690 Assert.assertEquals(0, message.getRepeatedSint32Count ()); | |
| 691 Assert.assertEquals(0, message.getRepeatedSint64Count ()); | |
| 692 Assert.assertEquals(0, message.getRepeatedFixed32Count ()); | |
| 693 Assert.assertEquals(0, message.getRepeatedFixed64Count ()); | |
| 694 Assert.assertEquals(0, message.getRepeatedSfixed32Count()); | |
| 695 Assert.assertEquals(0, message.getRepeatedSfixed64Count()); | |
| 696 Assert.assertEquals(0, message.getRepeatedFloatCount ()); | |
| 697 Assert.assertEquals(0, message.getRepeatedDoubleCount ()); | |
| 698 Assert.assertEquals(0, message.getRepeatedBoolCount ()); | |
| 699 Assert.assertEquals(0, message.getRepeatedStringCount ()); | |
| 700 Assert.assertEquals(0, message.getRepeatedBytesCount ()); | |
| 701 | |
| 702 Assert.assertEquals(0, message.getRepeatedGroupCount ()); | |
| 703 Assert.assertEquals(0, message.getRepeatedNestedMessageCount ()); | |
| 704 Assert.assertEquals(0, message.getRepeatedForeignMessageCount()); | |
| 705 Assert.assertEquals(0, message.getRepeatedImportMessageCount ()); | |
| 706 Assert.assertEquals(0, message.getRepeatedLazyMessageCount ()); | |
| 707 Assert.assertEquals(0, message.getRepeatedNestedEnumCount ()); | |
| 708 Assert.assertEquals(0, message.getRepeatedForeignEnumCount ()); | |
| 709 Assert.assertEquals(0, message.getRepeatedImportEnumCount ()); | |
| 710 | |
| 711 Assert.assertEquals(0, message.getRepeatedStringPieceCount()); | |
| 712 Assert.assertEquals(0, message.getRepeatedCordCount()); | |
| 713 | |
| 714 // hasBlah() should also be false for all default fields. | |
| 715 Assert.assertFalse(message.hasDefaultInt32 ()); | |
| 716 Assert.assertFalse(message.hasDefaultInt64 ()); | |
| 717 Assert.assertFalse(message.hasDefaultUint32 ()); | |
| 718 Assert.assertFalse(message.hasDefaultUint64 ()); | |
| 719 Assert.assertFalse(message.hasDefaultSint32 ()); | |
| 720 Assert.assertFalse(message.hasDefaultSint64 ()); | |
| 721 Assert.assertFalse(message.hasDefaultFixed32 ()); | |
| 722 Assert.assertFalse(message.hasDefaultFixed64 ()); | |
| 723 Assert.assertFalse(message.hasDefaultSfixed32()); | |
| 724 Assert.assertFalse(message.hasDefaultSfixed64()); | |
| 725 Assert.assertFalse(message.hasDefaultFloat ()); | |
| 726 Assert.assertFalse(message.hasDefaultDouble ()); | |
| 727 Assert.assertFalse(message.hasDefaultBool ()); | |
| 728 Assert.assertFalse(message.hasDefaultString ()); | |
| 729 Assert.assertFalse(message.hasDefaultBytes ()); | |
| 730 | |
| 731 Assert.assertFalse(message.hasDefaultNestedEnum ()); | |
| 732 Assert.assertFalse(message.hasDefaultForeignEnum()); | |
| 733 Assert.assertFalse(message.hasDefaultImportEnum ()); | |
| 734 | |
| 735 Assert.assertFalse(message.hasDefaultStringPiece()); | |
| 736 Assert.assertFalse(message.hasDefaultCord()); | |
| 737 | |
| 738 // Fields with defaults have their default values (duh). | |
| 739 Assert.assertEquals( 41 , message.getDefaultInt32 ()); | |
| 740 Assert.assertEquals( 42 , message.getDefaultInt64 ()); | |
| 741 Assert.assertEquals( 43 , message.getDefaultUint32 ()); | |
| 742 Assert.assertEquals( 44 , message.getDefaultUint64 ()); | |
| 743 Assert.assertEquals(-45 , message.getDefaultSint32 ()); | |
| 744 Assert.assertEquals( 46 , message.getDefaultSint64 ()); | |
| 745 Assert.assertEquals( 47 , message.getDefaultFixed32 ()); | |
| 746 Assert.assertEquals( 48 , message.getDefaultFixed64 ()); | |
| 747 Assert.assertEquals( 49 , message.getDefaultSfixed32()); | |
| 748 Assert.assertEquals(-50 , message.getDefaultSfixed64()); | |
| 749 Assert.assertEquals( 51.5 , message.getDefaultFloat (), 0.0); | |
| 750 Assert.assertEquals( 52e3 , message.getDefaultDouble (), 0.0); | |
| 751 Assert.assertEquals(true , message.getDefaultBool ()); | |
| 752 Assert.assertEquals("hello", message.getDefaultString ()); | |
| 753 Assert.assertEquals(toBytes("world"), message.getDefaultBytes()); | |
| 754 | |
| 755 Assert.assertEquals(TestAllTypes.NestedEnum.BAR, message.getDefaultNestedEnu
m ()); | |
| 756 Assert.assertEquals(ForeignEnum.FOREIGN_BAR, message.getDefaultForeignEnum()
); | |
| 757 Assert.assertEquals(ImportEnum.IMPORT_BAR, message.getDefaultImportEnum()); | |
| 758 | |
| 759 Assert.assertEquals("abc", message.getDefaultStringPiece()); | |
| 760 Assert.assertEquals("123", message.getDefaultCord()); | |
| 761 } | |
| 762 | |
| 763 // ------------------------------------------------------------------- | |
| 764 | |
| 765 /** | |
| 766 * Assert (using {@code junit.framework.Assert}} that all fields of | |
| 767 * {@code message} are set to the values assigned by {@code setAllFields} | |
| 768 * followed by {@code modifyRepeatedFields}. | |
| 769 */ | |
| 770 public static void assertRepeatedFieldsModified( | |
| 771 TestAllTypesOrBuilder message) { | |
| 772 // ModifyRepeatedFields only sets the second repeated element of each | |
| 773 // field. In addition to verifying this, we also verify that the first | |
| 774 // element and size were *not* modified. | |
| 775 Assert.assertEquals(2, message.getRepeatedInt32Count ()); | |
| 776 Assert.assertEquals(2, message.getRepeatedInt64Count ()); | |
| 777 Assert.assertEquals(2, message.getRepeatedUint32Count ()); | |
| 778 Assert.assertEquals(2, message.getRepeatedUint64Count ()); | |
| 779 Assert.assertEquals(2, message.getRepeatedSint32Count ()); | |
| 780 Assert.assertEquals(2, message.getRepeatedSint64Count ()); | |
| 781 Assert.assertEquals(2, message.getRepeatedFixed32Count ()); | |
| 782 Assert.assertEquals(2, message.getRepeatedFixed64Count ()); | |
| 783 Assert.assertEquals(2, message.getRepeatedSfixed32Count()); | |
| 784 Assert.assertEquals(2, message.getRepeatedSfixed64Count()); | |
| 785 Assert.assertEquals(2, message.getRepeatedFloatCount ()); | |
| 786 Assert.assertEquals(2, message.getRepeatedDoubleCount ()); | |
| 787 Assert.assertEquals(2, message.getRepeatedBoolCount ()); | |
| 788 Assert.assertEquals(2, message.getRepeatedStringCount ()); | |
| 789 Assert.assertEquals(2, message.getRepeatedBytesCount ()); | |
| 790 | |
| 791 Assert.assertEquals(2, message.getRepeatedGroupCount ()); | |
| 792 Assert.assertEquals(2, message.getRepeatedNestedMessageCount ()); | |
| 793 Assert.assertEquals(2, message.getRepeatedForeignMessageCount()); | |
| 794 Assert.assertEquals(2, message.getRepeatedImportMessageCount ()); | |
| 795 Assert.assertEquals(2, message.getRepeatedLazyMessageCount ()); | |
| 796 Assert.assertEquals(2, message.getRepeatedNestedEnumCount ()); | |
| 797 Assert.assertEquals(2, message.getRepeatedForeignEnumCount ()); | |
| 798 Assert.assertEquals(2, message.getRepeatedImportEnumCount ()); | |
| 799 | |
| 800 Assert.assertEquals(2, message.getRepeatedStringPieceCount()); | |
| 801 Assert.assertEquals(2, message.getRepeatedCordCount()); | |
| 802 | |
| 803 Assert.assertEquals(201 , message.getRepeatedInt32 (0)); | |
| 804 Assert.assertEquals(202L , message.getRepeatedInt64 (0)); | |
| 805 Assert.assertEquals(203 , message.getRepeatedUint32 (0)); | |
| 806 Assert.assertEquals(204L , message.getRepeatedUint64 (0)); | |
| 807 Assert.assertEquals(205 , message.getRepeatedSint32 (0)); | |
| 808 Assert.assertEquals(206L , message.getRepeatedSint64 (0)); | |
| 809 Assert.assertEquals(207 , message.getRepeatedFixed32 (0)); | |
| 810 Assert.assertEquals(208L , message.getRepeatedFixed64 (0)); | |
| 811 Assert.assertEquals(209 , message.getRepeatedSfixed32(0)); | |
| 812 Assert.assertEquals(210L , message.getRepeatedSfixed64(0)); | |
| 813 Assert.assertEquals(211F , message.getRepeatedFloat (0)); | |
| 814 Assert.assertEquals(212D , message.getRepeatedDouble (0)); | |
| 815 Assert.assertEquals(true , message.getRepeatedBool (0)); | |
| 816 Assert.assertEquals("215", message.getRepeatedString (0)); | |
| 817 Assert.assertEquals(toBytes("216"), message.getRepeatedBytes(0)); | |
| 818 | |
| 819 Assert.assertEquals(217, message.getRepeatedGroup (0).getA()); | |
| 820 Assert.assertEquals(218, message.getRepeatedNestedMessage (0).getBb()); | |
| 821 Assert.assertEquals(219, message.getRepeatedForeignMessage(0).getC()); | |
| 822 Assert.assertEquals(220, message.getRepeatedImportMessage (0).getD()); | |
| 823 Assert.assertEquals(227, message.getRepeatedLazyMessage (0).getBb()); | |
| 824 | |
| 825 Assert.assertEquals(TestAllTypes.NestedEnum.BAR, message.getRepeatedNestedEn
um (0)); | |
| 826 Assert.assertEquals(ForeignEnum.FOREIGN_BAR, message.getRepeatedForeignEnum(
0)); | |
| 827 Assert.assertEquals(ImportEnum.IMPORT_BAR, message.getRepeatedImportEnum(0))
; | |
| 828 | |
| 829 Assert.assertEquals("224", message.getRepeatedStringPiece(0)); | |
| 830 Assert.assertEquals("225", message.getRepeatedCord(0)); | |
| 831 | |
| 832 // Actually verify the second (modified) elements now. | |
| 833 Assert.assertEquals(501 , message.getRepeatedInt32 (1)); | |
| 834 Assert.assertEquals(502L , message.getRepeatedInt64 (1)); | |
| 835 Assert.assertEquals(503 , message.getRepeatedUint32 (1)); | |
| 836 Assert.assertEquals(504L , message.getRepeatedUint64 (1)); | |
| 837 Assert.assertEquals(505 , message.getRepeatedSint32 (1)); | |
| 838 Assert.assertEquals(506L , message.getRepeatedSint64 (1)); | |
| 839 Assert.assertEquals(507 , message.getRepeatedFixed32 (1)); | |
| 840 Assert.assertEquals(508L , message.getRepeatedFixed64 (1)); | |
| 841 Assert.assertEquals(509 , message.getRepeatedSfixed32(1)); | |
| 842 Assert.assertEquals(510L , message.getRepeatedSfixed64(1)); | |
| 843 Assert.assertEquals(511F , message.getRepeatedFloat (1)); | |
| 844 Assert.assertEquals(512D , message.getRepeatedDouble (1)); | |
| 845 Assert.assertEquals(true , message.getRepeatedBool (1)); | |
| 846 Assert.assertEquals("515", message.getRepeatedString (1)); | |
| 847 Assert.assertEquals(toBytes("516"), message.getRepeatedBytes(1)); | |
| 848 | |
| 849 Assert.assertEquals(517, message.getRepeatedGroup (1).getA()); | |
| 850 Assert.assertEquals(518, message.getRepeatedNestedMessage (1).getBb()); | |
| 851 Assert.assertEquals(519, message.getRepeatedForeignMessage(1).getC()); | |
| 852 Assert.assertEquals(520, message.getRepeatedImportMessage (1).getD()); | |
| 853 Assert.assertEquals(527, message.getRepeatedLazyMessage (1).getBb()); | |
| 854 | |
| 855 Assert.assertEquals(TestAllTypes.NestedEnum.FOO, message.getRepeatedNestedEn
um (1)); | |
| 856 Assert.assertEquals(ForeignEnum.FOREIGN_FOO, message.getRepeatedForeignEnum(
1)); | |
| 857 Assert.assertEquals(ImportEnum.IMPORT_FOO, message.getRepeatedImportEnum(1))
; | |
| 858 | |
| 859 Assert.assertEquals("524", message.getRepeatedStringPiece(1)); | |
| 860 Assert.assertEquals("525", message.getRepeatedCord(1)); | |
| 861 } | |
| 862 | |
| 863 /** | |
| 864 * Set every field of {@code message} to a unique value. | |
| 865 */ | |
| 866 public static void setPackedFields(TestPackedTypes.Builder message) { | |
| 867 message.addPackedInt32 (601); | |
| 868 message.addPackedInt64 (602); | |
| 869 message.addPackedUint32 (603); | |
| 870 message.addPackedUint64 (604); | |
| 871 message.addPackedSint32 (605); | |
| 872 message.addPackedSint64 (606); | |
| 873 message.addPackedFixed32 (607); | |
| 874 message.addPackedFixed64 (608); | |
| 875 message.addPackedSfixed32(609); | |
| 876 message.addPackedSfixed64(610); | |
| 877 message.addPackedFloat (611); | |
| 878 message.addPackedDouble (612); | |
| 879 message.addPackedBool (true); | |
| 880 message.addPackedEnum (ForeignEnum.FOREIGN_BAR); | |
| 881 // Add a second one of each field. | |
| 882 message.addPackedInt32 (701); | |
| 883 message.addPackedInt64 (702); | |
| 884 message.addPackedUint32 (703); | |
| 885 message.addPackedUint64 (704); | |
| 886 message.addPackedSint32 (705); | |
| 887 message.addPackedSint64 (706); | |
| 888 message.addPackedFixed32 (707); | |
| 889 message.addPackedFixed64 (708); | |
| 890 message.addPackedSfixed32(709); | |
| 891 message.addPackedSfixed64(710); | |
| 892 message.addPackedFloat (711); | |
| 893 message.addPackedDouble (712); | |
| 894 message.addPackedBool (false); | |
| 895 message.addPackedEnum (ForeignEnum.FOREIGN_BAZ); | |
| 896 } | |
| 897 | |
| 898 /** | |
| 899 * Set every field of {@code message} to a unique value. Must correspond with | |
| 900 * the values applied by {@code setPackedFields}. | |
| 901 */ | |
| 902 public static void setUnpackedFields(TestUnpackedTypes.Builder message) { | |
| 903 message.addUnpackedInt32 (601); | |
| 904 message.addUnpackedInt64 (602); | |
| 905 message.addUnpackedUint32 (603); | |
| 906 message.addUnpackedUint64 (604); | |
| 907 message.addUnpackedSint32 (605); | |
| 908 message.addUnpackedSint64 (606); | |
| 909 message.addUnpackedFixed32 (607); | |
| 910 message.addUnpackedFixed64 (608); | |
| 911 message.addUnpackedSfixed32(609); | |
| 912 message.addUnpackedSfixed64(610); | |
| 913 message.addUnpackedFloat (611); | |
| 914 message.addUnpackedDouble (612); | |
| 915 message.addUnpackedBool (true); | |
| 916 message.addUnpackedEnum (ForeignEnum.FOREIGN_BAR); | |
| 917 // Add a second one of each field. | |
| 918 message.addUnpackedInt32 (701); | |
| 919 message.addUnpackedInt64 (702); | |
| 920 message.addUnpackedUint32 (703); | |
| 921 message.addUnpackedUint64 (704); | |
| 922 message.addUnpackedSint32 (705); | |
| 923 message.addUnpackedSint64 (706); | |
| 924 message.addUnpackedFixed32 (707); | |
| 925 message.addUnpackedFixed64 (708); | |
| 926 message.addUnpackedSfixed32(709); | |
| 927 message.addUnpackedSfixed64(710); | |
| 928 message.addUnpackedFloat (711); | |
| 929 message.addUnpackedDouble (712); | |
| 930 message.addUnpackedBool (false); | |
| 931 message.addUnpackedEnum (ForeignEnum.FOREIGN_BAZ); | |
| 932 } | |
| 933 | |
| 934 /** | |
| 935 * Assert (using {@code junit.framework.Assert}} that all fields of | |
| 936 * {@code message} are set to the values assigned by {@code setPackedFields}. | |
| 937 */ | |
| 938 public static void assertPackedFieldsSet(TestPackedTypes message) { | |
| 939 Assert.assertEquals(2, message.getPackedInt32Count ()); | |
| 940 Assert.assertEquals(2, message.getPackedInt64Count ()); | |
| 941 Assert.assertEquals(2, message.getPackedUint32Count ()); | |
| 942 Assert.assertEquals(2, message.getPackedUint64Count ()); | |
| 943 Assert.assertEquals(2, message.getPackedSint32Count ()); | |
| 944 Assert.assertEquals(2, message.getPackedSint64Count ()); | |
| 945 Assert.assertEquals(2, message.getPackedFixed32Count ()); | |
| 946 Assert.assertEquals(2, message.getPackedFixed64Count ()); | |
| 947 Assert.assertEquals(2, message.getPackedSfixed32Count()); | |
| 948 Assert.assertEquals(2, message.getPackedSfixed64Count()); | |
| 949 Assert.assertEquals(2, message.getPackedFloatCount ()); | |
| 950 Assert.assertEquals(2, message.getPackedDoubleCount ()); | |
| 951 Assert.assertEquals(2, message.getPackedBoolCount ()); | |
| 952 Assert.assertEquals(2, message.getPackedEnumCount ()); | |
| 953 Assert.assertEquals(601 , message.getPackedInt32 (0)); | |
| 954 Assert.assertEquals(602 , message.getPackedInt64 (0)); | |
| 955 Assert.assertEquals(603 , message.getPackedUint32 (0)); | |
| 956 Assert.assertEquals(604 , message.getPackedUint64 (0)); | |
| 957 Assert.assertEquals(605 , message.getPackedSint32 (0)); | |
| 958 Assert.assertEquals(606 , message.getPackedSint64 (0)); | |
| 959 Assert.assertEquals(607 , message.getPackedFixed32 (0)); | |
| 960 Assert.assertEquals(608 , message.getPackedFixed64 (0)); | |
| 961 Assert.assertEquals(609 , message.getPackedSfixed32(0)); | |
| 962 Assert.assertEquals(610 , message.getPackedSfixed64(0)); | |
| 963 Assert.assertEquals(611 , message.getPackedFloat (0), 0.0); | |
| 964 Assert.assertEquals(612 , message.getPackedDouble (0), 0.0); | |
| 965 Assert.assertEquals(true , message.getPackedBool (0)); | |
| 966 Assert.assertEquals(ForeignEnum.FOREIGN_BAR, message.getPackedEnum(0)); | |
| 967 Assert.assertEquals(701 , message.getPackedInt32 (1)); | |
| 968 Assert.assertEquals(702 , message.getPackedInt64 (1)); | |
| 969 Assert.assertEquals(703 , message.getPackedUint32 (1)); | |
| 970 Assert.assertEquals(704 , message.getPackedUint64 (1)); | |
| 971 Assert.assertEquals(705 , message.getPackedSint32 (1)); | |
| 972 Assert.assertEquals(706 , message.getPackedSint64 (1)); | |
| 973 Assert.assertEquals(707 , message.getPackedFixed32 (1)); | |
| 974 Assert.assertEquals(708 , message.getPackedFixed64 (1)); | |
| 975 Assert.assertEquals(709 , message.getPackedSfixed32(1)); | |
| 976 Assert.assertEquals(710 , message.getPackedSfixed64(1)); | |
| 977 Assert.assertEquals(711 , message.getPackedFloat (1), 0.0); | |
| 978 Assert.assertEquals(712 , message.getPackedDouble (1), 0.0); | |
| 979 Assert.assertEquals(false, message.getPackedBool (1)); | |
| 980 Assert.assertEquals(ForeignEnum.FOREIGN_BAZ, message.getPackedEnum(1)); | |
| 981 } | |
| 982 | |
| 983 /** | |
| 984 * Assert (using {@code junit.framework.Assert}} that all fields of | |
| 985 * {@code message} are set to the values assigned by {@code setUnpackedFields}
. | |
| 986 */ | |
| 987 public static void assertUnpackedFieldsSet(TestUnpackedTypes message) { | |
| 988 Assert.assertEquals(2, message.getUnpackedInt32Count ()); | |
| 989 Assert.assertEquals(2, message.getUnpackedInt64Count ()); | |
| 990 Assert.assertEquals(2, message.getUnpackedUint32Count ()); | |
| 991 Assert.assertEquals(2, message.getUnpackedUint64Count ()); | |
| 992 Assert.assertEquals(2, message.getUnpackedSint32Count ()); | |
| 993 Assert.assertEquals(2, message.getUnpackedSint64Count ()); | |
| 994 Assert.assertEquals(2, message.getUnpackedFixed32Count ()); | |
| 995 Assert.assertEquals(2, message.getUnpackedFixed64Count ()); | |
| 996 Assert.assertEquals(2, message.getUnpackedSfixed32Count()); | |
| 997 Assert.assertEquals(2, message.getUnpackedSfixed64Count()); | |
| 998 Assert.assertEquals(2, message.getUnpackedFloatCount ()); | |
| 999 Assert.assertEquals(2, message.getUnpackedDoubleCount ()); | |
| 1000 Assert.assertEquals(2, message.getUnpackedBoolCount ()); | |
| 1001 Assert.assertEquals(2, message.getUnpackedEnumCount ()); | |
| 1002 Assert.assertEquals(601 , message.getUnpackedInt32 (0)); | |
| 1003 Assert.assertEquals(602 , message.getUnpackedInt64 (0)); | |
| 1004 Assert.assertEquals(603 , message.getUnpackedUint32 (0)); | |
| 1005 Assert.assertEquals(604 , message.getUnpackedUint64 (0)); | |
| 1006 Assert.assertEquals(605 , message.getUnpackedSint32 (0)); | |
| 1007 Assert.assertEquals(606 , message.getUnpackedSint64 (0)); | |
| 1008 Assert.assertEquals(607 , message.getUnpackedFixed32 (0)); | |
| 1009 Assert.assertEquals(608 , message.getUnpackedFixed64 (0)); | |
| 1010 Assert.assertEquals(609 , message.getUnpackedSfixed32(0)); | |
| 1011 Assert.assertEquals(610 , message.getUnpackedSfixed64(0)); | |
| 1012 Assert.assertEquals(611 , message.getUnpackedFloat (0), 0.0); | |
| 1013 Assert.assertEquals(612 , message.getUnpackedDouble (0), 0.0); | |
| 1014 Assert.assertEquals(true , message.getUnpackedBool (0)); | |
| 1015 Assert.assertEquals(ForeignEnum.FOREIGN_BAR, message.getUnpackedEnum(0)); | |
| 1016 Assert.assertEquals(701 , message.getUnpackedInt32 (1)); | |
| 1017 Assert.assertEquals(702 , message.getUnpackedInt64 (1)); | |
| 1018 Assert.assertEquals(703 , message.getUnpackedUint32 (1)); | |
| 1019 Assert.assertEquals(704 , message.getUnpackedUint64 (1)); | |
| 1020 Assert.assertEquals(705 , message.getUnpackedSint32 (1)); | |
| 1021 Assert.assertEquals(706 , message.getUnpackedSint64 (1)); | |
| 1022 Assert.assertEquals(707 , message.getUnpackedFixed32 (1)); | |
| 1023 Assert.assertEquals(708 , message.getUnpackedFixed64 (1)); | |
| 1024 Assert.assertEquals(709 , message.getUnpackedSfixed32(1)); | |
| 1025 Assert.assertEquals(710 , message.getUnpackedSfixed64(1)); | |
| 1026 Assert.assertEquals(711 , message.getUnpackedFloat (1), 0.0); | |
| 1027 Assert.assertEquals(712 , message.getUnpackedDouble (1), 0.0); | |
| 1028 Assert.assertEquals(false, message.getUnpackedBool (1)); | |
| 1029 Assert.assertEquals(ForeignEnum.FOREIGN_BAZ, message.getUnpackedEnum(1)); | |
| 1030 } | |
| 1031 | |
| 1032 // =================================================================== | |
| 1033 // Like above, but for extensions | |
| 1034 | |
| 1035 // Java gets confused with things like assertEquals(int, Integer): it can't | |
| 1036 // decide whether to call assertEquals(int, int) or assertEquals(Object, | |
| 1037 // Object). So we define these methods to help it. | |
| 1038 private static void assertEqualsExactType(int a, int b) { | |
| 1039 Assert.assertEquals(a, b); | |
| 1040 } | |
| 1041 private static void assertEqualsExactType(long a, long b) { | |
| 1042 Assert.assertEquals(a, b); | |
| 1043 } | |
| 1044 private static void assertEqualsExactType(float a, float b) { | |
| 1045 Assert.assertEquals(a, b, 0.0); | |
| 1046 } | |
| 1047 private static void assertEqualsExactType(double a, double b) { | |
| 1048 Assert.assertEquals(a, b, 0.0); | |
| 1049 } | |
| 1050 private static void assertEqualsExactType(boolean a, boolean b) { | |
| 1051 Assert.assertEquals(a, b); | |
| 1052 } | |
| 1053 private static void assertEqualsExactType(String a, String b) { | |
| 1054 Assert.assertEquals(a, b); | |
| 1055 } | |
| 1056 private static void assertEqualsExactType(ByteString a, ByteString b) { | |
| 1057 Assert.assertEquals(a, b); | |
| 1058 } | |
| 1059 private static void assertEqualsExactType(TestAllTypes.NestedEnum a, | |
| 1060 TestAllTypes.NestedEnum b) { | |
| 1061 Assert.assertEquals(a, b); | |
| 1062 } | |
| 1063 private static void assertEqualsExactType(ForeignEnum a, ForeignEnum b) { | |
| 1064 Assert.assertEquals(a, b); | |
| 1065 } | |
| 1066 private static void assertEqualsExactType(ImportEnum a, ImportEnum b) { | |
| 1067 Assert.assertEquals(a, b); | |
| 1068 } | |
| 1069 /** | |
| 1070 * Get an unmodifiable {@link ExtensionRegistry} containing all the | |
| 1071 * extensions of {@code TestAllExtensions}. | |
| 1072 */ | |
| 1073 public static ExtensionRegistry getExtensionRegistry() { | |
| 1074 ExtensionRegistry registry = ExtensionRegistry.newInstance(); | |
| 1075 registerAllExtensions(registry); | |
| 1076 return registry.getUnmodifiable(); | |
| 1077 } | |
| 1078 | |
| 1079 | |
| 1080 /** | |
| 1081 * Register all of {@code TestAllExtensions}'s extensions with the | |
| 1082 * given {@link ExtensionRegistry}. | |
| 1083 */ | |
| 1084 public static void registerAllExtensions(ExtensionRegistry registry) { | |
| 1085 UnittestProto.registerAllExtensions(registry); | |
| 1086 } | |
| 1087 | |
| 1088 | |
| 1089 /** | |
| 1090 * Set every field of {@code message} to the values expected by | |
| 1091 * {@code assertAllExtensionsSet()}. | |
| 1092 */ | |
| 1093 public static void setAllExtensions(TestAllExtensions.Builder message) { | |
| 1094 message.setExtension(optionalInt32Extension , 101); | |
| 1095 message.setExtension(optionalInt64Extension , 102L); | |
| 1096 message.setExtension(optionalUint32Extension , 103); | |
| 1097 message.setExtension(optionalUint64Extension , 104L); | |
| 1098 message.setExtension(optionalSint32Extension , 105); | |
| 1099 message.setExtension(optionalSint64Extension , 106L); | |
| 1100 message.setExtension(optionalFixed32Extension , 107); | |
| 1101 message.setExtension(optionalFixed64Extension , 108L); | |
| 1102 message.setExtension(optionalSfixed32Extension, 109); | |
| 1103 message.setExtension(optionalSfixed64Extension, 110L); | |
| 1104 message.setExtension(optionalFloatExtension , 111F); | |
| 1105 message.setExtension(optionalDoubleExtension , 112D); | |
| 1106 message.setExtension(optionalBoolExtension , true); | |
| 1107 message.setExtension(optionalStringExtension , "115"); | |
| 1108 message.setExtension(optionalBytesExtension , toBytes("116")); | |
| 1109 | |
| 1110 message.setExtension(optionalGroupExtension, | |
| 1111 OptionalGroup_extension.newBuilder().setA(117).build()); | |
| 1112 message.setExtension(optionalNestedMessageExtension, | |
| 1113 TestAllTypes.NestedMessage.newBuilder().setBb(118).build()); | |
| 1114 message.setExtension(optionalForeignMessageExtension, | |
| 1115 ForeignMessage.newBuilder().setC(119).build()); | |
| 1116 message.setExtension(optionalImportMessageExtension, | |
| 1117 ImportMessage.newBuilder().setD(120).build()); | |
| 1118 message.setExtension(optionalPublicImportMessageExtension, | |
| 1119 PublicImportMessage.newBuilder().setE(126).build()); | |
| 1120 message.setExtension(optionalLazyMessageExtension, | |
| 1121 TestAllTypes.NestedMessage.newBuilder().setBb(127).build()); | |
| 1122 | |
| 1123 message.setExtension(optionalNestedEnumExtension, TestAllTypes.NestedEnum.BA
Z); | |
| 1124 message.setExtension(optionalForeignEnumExtension, ForeignEnum.FOREIGN_BAZ); | |
| 1125 message.setExtension(optionalImportEnumExtension, ImportEnum.IMPORT_BAZ); | |
| 1126 | |
| 1127 message.setExtension(optionalStringPieceExtension, "124"); | |
| 1128 message.setExtension(optionalCordExtension, "125"); | |
| 1129 | |
| 1130 // ----------------------------------------------------------------- | |
| 1131 | |
| 1132 message.addExtension(repeatedInt32Extension , 201); | |
| 1133 message.addExtension(repeatedInt64Extension , 202L); | |
| 1134 message.addExtension(repeatedUint32Extension , 203); | |
| 1135 message.addExtension(repeatedUint64Extension , 204L); | |
| 1136 message.addExtension(repeatedSint32Extension , 205); | |
| 1137 message.addExtension(repeatedSint64Extension , 206L); | |
| 1138 message.addExtension(repeatedFixed32Extension , 207); | |
| 1139 message.addExtension(repeatedFixed64Extension , 208L); | |
| 1140 message.addExtension(repeatedSfixed32Extension, 209); | |
| 1141 message.addExtension(repeatedSfixed64Extension, 210L); | |
| 1142 message.addExtension(repeatedFloatExtension , 211F); | |
| 1143 message.addExtension(repeatedDoubleExtension , 212D); | |
| 1144 message.addExtension(repeatedBoolExtension , true); | |
| 1145 message.addExtension(repeatedStringExtension , "215"); | |
| 1146 message.addExtension(repeatedBytesExtension , toBytes("216")); | |
| 1147 | |
| 1148 message.addExtension(repeatedGroupExtension, | |
| 1149 RepeatedGroup_extension.newBuilder().setA(217).build()); | |
| 1150 message.addExtension(repeatedNestedMessageExtension, | |
| 1151 TestAllTypes.NestedMessage.newBuilder().setBb(218).build()); | |
| 1152 message.addExtension(repeatedForeignMessageExtension, | |
| 1153 ForeignMessage.newBuilder().setC(219).build()); | |
| 1154 message.addExtension(repeatedImportMessageExtension, | |
| 1155 ImportMessage.newBuilder().setD(220).build()); | |
| 1156 message.addExtension(repeatedLazyMessageExtension, | |
| 1157 TestAllTypes.NestedMessage.newBuilder().setBb(227).build()); | |
| 1158 | |
| 1159 message.addExtension(repeatedNestedEnumExtension, TestAllTypes.NestedEnum.BA
R); | |
| 1160 message.addExtension(repeatedForeignEnumExtension, ForeignEnum.FOREIGN_BAR); | |
| 1161 message.addExtension(repeatedImportEnumExtension, ImportEnum.IMPORT_BAR); | |
| 1162 | |
| 1163 message.addExtension(repeatedStringPieceExtension, "224"); | |
| 1164 message.addExtension(repeatedCordExtension, "225"); | |
| 1165 | |
| 1166 // Add a second one of each field. | |
| 1167 message.addExtension(repeatedInt32Extension , 301); | |
| 1168 message.addExtension(repeatedInt64Extension , 302L); | |
| 1169 message.addExtension(repeatedUint32Extension , 303); | |
| 1170 message.addExtension(repeatedUint64Extension , 304L); | |
| 1171 message.addExtension(repeatedSint32Extension , 305); | |
| 1172 message.addExtension(repeatedSint64Extension , 306L); | |
| 1173 message.addExtension(repeatedFixed32Extension , 307); | |
| 1174 message.addExtension(repeatedFixed64Extension , 308L); | |
| 1175 message.addExtension(repeatedSfixed32Extension, 309); | |
| 1176 message.addExtension(repeatedSfixed64Extension, 310L); | |
| 1177 message.addExtension(repeatedFloatExtension , 311F); | |
| 1178 message.addExtension(repeatedDoubleExtension , 312D); | |
| 1179 message.addExtension(repeatedBoolExtension , false); | |
| 1180 message.addExtension(repeatedStringExtension , "315"); | |
| 1181 message.addExtension(repeatedBytesExtension , toBytes("316")); | |
| 1182 | |
| 1183 message.addExtension(repeatedGroupExtension, | |
| 1184 RepeatedGroup_extension.newBuilder().setA(317).build()); | |
| 1185 message.addExtension(repeatedNestedMessageExtension, | |
| 1186 TestAllTypes.NestedMessage.newBuilder().setBb(318).build()); | |
| 1187 message.addExtension(repeatedForeignMessageExtension, | |
| 1188 ForeignMessage.newBuilder().setC(319).build()); | |
| 1189 message.addExtension(repeatedImportMessageExtension, | |
| 1190 ImportMessage.newBuilder().setD(320).build()); | |
| 1191 message.addExtension(repeatedLazyMessageExtension, | |
| 1192 TestAllTypes.NestedMessage.newBuilder().setBb(327).build()); | |
| 1193 | |
| 1194 message.addExtension(repeatedNestedEnumExtension, TestAllTypes.NestedEnum.BA
Z); | |
| 1195 message.addExtension(repeatedForeignEnumExtension, ForeignEnum.FOREIGN_BAZ); | |
| 1196 message.addExtension(repeatedImportEnumExtension, ImportEnum.IMPORT_BAZ); | |
| 1197 | |
| 1198 message.addExtension(repeatedStringPieceExtension, "324"); | |
| 1199 message.addExtension(repeatedCordExtension, "325"); | |
| 1200 | |
| 1201 // ----------------------------------------------------------------- | |
| 1202 | |
| 1203 message.setExtension(defaultInt32Extension , 401); | |
| 1204 message.setExtension(defaultInt64Extension , 402L); | |
| 1205 message.setExtension(defaultUint32Extension , 403); | |
| 1206 message.setExtension(defaultUint64Extension , 404L); | |
| 1207 message.setExtension(defaultSint32Extension , 405); | |
| 1208 message.setExtension(defaultSint64Extension , 406L); | |
| 1209 message.setExtension(defaultFixed32Extension , 407); | |
| 1210 message.setExtension(defaultFixed64Extension , 408L); | |
| 1211 message.setExtension(defaultSfixed32Extension, 409); | |
| 1212 message.setExtension(defaultSfixed64Extension, 410L); | |
| 1213 message.setExtension(defaultFloatExtension , 411F); | |
| 1214 message.setExtension(defaultDoubleExtension , 412D); | |
| 1215 message.setExtension(defaultBoolExtension , false); | |
| 1216 message.setExtension(defaultStringExtension , "415"); | |
| 1217 message.setExtension(defaultBytesExtension , toBytes("416")); | |
| 1218 | |
| 1219 message.setExtension(defaultNestedEnumExtension, TestAllTypes.NestedEnum.FOO
); | |
| 1220 message.setExtension(defaultForeignEnumExtension, ForeignEnum.FOREIGN_FOO); | |
| 1221 message.setExtension(defaultImportEnumExtension, ImportEnum.IMPORT_FOO); | |
| 1222 | |
| 1223 message.setExtension(defaultStringPieceExtension, "424"); | |
| 1224 message.setExtension(defaultCordExtension, "425"); | |
| 1225 } | |
| 1226 | |
| 1227 // ------------------------------------------------------------------- | |
| 1228 | |
| 1229 /** | |
| 1230 * Modify the repeated extensions of {@code message} to contain the values | |
| 1231 * expected by {@code assertRepeatedExtensionsModified()}. | |
| 1232 */ | |
| 1233 public static void modifyRepeatedExtensions( | |
| 1234 TestAllExtensions.Builder message) { | |
| 1235 message.setExtension(repeatedInt32Extension , 1, 501); | |
| 1236 message.setExtension(repeatedInt64Extension , 1, 502L); | |
| 1237 message.setExtension(repeatedUint32Extension , 1, 503); | |
| 1238 message.setExtension(repeatedUint64Extension , 1, 504L); | |
| 1239 message.setExtension(repeatedSint32Extension , 1, 505); | |
| 1240 message.setExtension(repeatedSint64Extension , 1, 506L); | |
| 1241 message.setExtension(repeatedFixed32Extension , 1, 507); | |
| 1242 message.setExtension(repeatedFixed64Extension , 1, 508L); | |
| 1243 message.setExtension(repeatedSfixed32Extension, 1, 509); | |
| 1244 message.setExtension(repeatedSfixed64Extension, 1, 510L); | |
| 1245 message.setExtension(repeatedFloatExtension , 1, 511F); | |
| 1246 message.setExtension(repeatedDoubleExtension , 1, 512D); | |
| 1247 message.setExtension(repeatedBoolExtension , 1, true); | |
| 1248 message.setExtension(repeatedStringExtension , 1, "515"); | |
| 1249 message.setExtension(repeatedBytesExtension , 1, toBytes("516")); | |
| 1250 | |
| 1251 message.setExtension(repeatedGroupExtension, 1, | |
| 1252 RepeatedGroup_extension.newBuilder().setA(517).build()); | |
| 1253 message.setExtension(repeatedNestedMessageExtension, 1, | |
| 1254 TestAllTypes.NestedMessage.newBuilder().setBb(518).build()); | |
| 1255 message.setExtension(repeatedForeignMessageExtension, 1, | |
| 1256 ForeignMessage.newBuilder().setC(519).build()); | |
| 1257 message.setExtension(repeatedImportMessageExtension, 1, | |
| 1258 ImportMessage.newBuilder().setD(520).build()); | |
| 1259 message.setExtension(repeatedLazyMessageExtension, 1, | |
| 1260 TestAllTypes.NestedMessage.newBuilder().setBb(527).build()); | |
| 1261 | |
| 1262 message.setExtension(repeatedNestedEnumExtension , 1, TestAllTypes.NestedEnu
m.FOO); | |
| 1263 message.setExtension(repeatedForeignEnumExtension, 1, ForeignEnum.FOREIGN_FO
O); | |
| 1264 message.setExtension(repeatedImportEnumExtension , 1, ImportEnum.IMPORT_FOO)
; | |
| 1265 | |
| 1266 message.setExtension(repeatedStringPieceExtension, 1, "524"); | |
| 1267 message.setExtension(repeatedCordExtension, 1, "525"); | |
| 1268 } | |
| 1269 | |
| 1270 // ------------------------------------------------------------------- | |
| 1271 | |
| 1272 /** | |
| 1273 * Assert (using {@code junit.framework.Assert}} that all extensions of | |
| 1274 * {@code message} are set to the values assigned by {@code setAllExtensions}. | |
| 1275 */ | |
| 1276 public static void assertAllExtensionsSet( | |
| 1277 TestAllExtensionsOrBuilder message) { | |
| 1278 Assert.assertTrue(message.hasExtension(optionalInt32Extension )); | |
| 1279 Assert.assertTrue(message.hasExtension(optionalInt64Extension )); | |
| 1280 Assert.assertTrue(message.hasExtension(optionalUint32Extension )); | |
| 1281 Assert.assertTrue(message.hasExtension(optionalUint64Extension )); | |
| 1282 Assert.assertTrue(message.hasExtension(optionalSint32Extension )); | |
| 1283 Assert.assertTrue(message.hasExtension(optionalSint64Extension )); | |
| 1284 Assert.assertTrue(message.hasExtension(optionalFixed32Extension )); | |
| 1285 Assert.assertTrue(message.hasExtension(optionalFixed64Extension )); | |
| 1286 Assert.assertTrue(message.hasExtension(optionalSfixed32Extension)); | |
| 1287 Assert.assertTrue(message.hasExtension(optionalSfixed64Extension)); | |
| 1288 Assert.assertTrue(message.hasExtension(optionalFloatExtension )); | |
| 1289 Assert.assertTrue(message.hasExtension(optionalDoubleExtension )); | |
| 1290 Assert.assertTrue(message.hasExtension(optionalBoolExtension )); | |
| 1291 Assert.assertTrue(message.hasExtension(optionalStringExtension )); | |
| 1292 Assert.assertTrue(message.hasExtension(optionalBytesExtension )); | |
| 1293 | |
| 1294 Assert.assertTrue(message.hasExtension(optionalGroupExtension )); | |
| 1295 Assert.assertTrue(message.hasExtension(optionalNestedMessageExtension )); | |
| 1296 Assert.assertTrue(message.hasExtension(optionalForeignMessageExtension)); | |
| 1297 Assert.assertTrue(message.hasExtension(optionalImportMessageExtension )); | |
| 1298 | |
| 1299 Assert.assertTrue(message.getExtension(optionalGroupExtension ).hasA
()); | |
| 1300 Assert.assertTrue(message.getExtension(optionalNestedMessageExtension ).hasB
b()); | |
| 1301 Assert.assertTrue(message.getExtension(optionalForeignMessageExtension).hasC
()); | |
| 1302 Assert.assertTrue(message.getExtension(optionalImportMessageExtension ).hasD
()); | |
| 1303 | |
| 1304 Assert.assertTrue(message.hasExtension(optionalNestedEnumExtension )); | |
| 1305 Assert.assertTrue(message.hasExtension(optionalForeignEnumExtension)); | |
| 1306 Assert.assertTrue(message.hasExtension(optionalImportEnumExtension )); | |
| 1307 | |
| 1308 Assert.assertTrue(message.hasExtension(optionalStringPieceExtension)); | |
| 1309 Assert.assertTrue(message.hasExtension(optionalCordExtension)); | |
| 1310 | |
| 1311 assertEqualsExactType(101 , message.getExtension(optionalInt32Extension )
); | |
| 1312 assertEqualsExactType(102L , message.getExtension(optionalInt64Extension )
); | |
| 1313 assertEqualsExactType(103 , message.getExtension(optionalUint32Extension )
); | |
| 1314 assertEqualsExactType(104L , message.getExtension(optionalUint64Extension )
); | |
| 1315 assertEqualsExactType(105 , message.getExtension(optionalSint32Extension )
); | |
| 1316 assertEqualsExactType(106L , message.getExtension(optionalSint64Extension )
); | |
| 1317 assertEqualsExactType(107 , message.getExtension(optionalFixed32Extension )
); | |
| 1318 assertEqualsExactType(108L , message.getExtension(optionalFixed64Extension )
); | |
| 1319 assertEqualsExactType(109 , message.getExtension(optionalSfixed32Extension)
); | |
| 1320 assertEqualsExactType(110L , message.getExtension(optionalSfixed64Extension)
); | |
| 1321 assertEqualsExactType(111F , message.getExtension(optionalFloatExtension )
); | |
| 1322 assertEqualsExactType(112D , message.getExtension(optionalDoubleExtension )
); | |
| 1323 assertEqualsExactType(true , message.getExtension(optionalBoolExtension )
); | |
| 1324 assertEqualsExactType("115", message.getExtension(optionalStringExtension )
); | |
| 1325 assertEqualsExactType(toBytes("116"), message.getExtension(optionalBytesExte
nsion)); | |
| 1326 | |
| 1327 assertEqualsExactType(117, message.getExtension(optionalGroupExtension
).getA()); | |
| 1328 assertEqualsExactType(118, message.getExtension(optionalNestedMessageExtensi
on ).getBb()); | |
| 1329 assertEqualsExactType(119, message.getExtension(optionalForeignMessageExtens
ion ).getC()); | |
| 1330 assertEqualsExactType(120, message.getExtension(optionalImportMessageExtensi
on ).getD()); | |
| 1331 assertEqualsExactType(126, message.getExtension(optionalPublicImportMessageE
xtension).getE()); | |
| 1332 assertEqualsExactType(127, message.getExtension(optionalLazyMessageExtension
).getBb()); | |
| 1333 | |
| 1334 assertEqualsExactType(TestAllTypes.NestedEnum.BAZ, | |
| 1335 message.getExtension(optionalNestedEnumExtension)); | |
| 1336 assertEqualsExactType(ForeignEnum.FOREIGN_BAZ, | |
| 1337 message.getExtension(optionalForeignEnumExtension)); | |
| 1338 assertEqualsExactType(ImportEnum.IMPORT_BAZ, | |
| 1339 message.getExtension(optionalImportEnumExtension)); | |
| 1340 | |
| 1341 assertEqualsExactType("124", message.getExtension(optionalStringPieceExtensi
on)); | |
| 1342 assertEqualsExactType("125", message.getExtension(optionalCordExtension)); | |
| 1343 | |
| 1344 // ----------------------------------------------------------------- | |
| 1345 | |
| 1346 Assert.assertEquals(2, message.getExtensionCount(repeatedInt32Extension ))
; | |
| 1347 Assert.assertEquals(2, message.getExtensionCount(repeatedInt64Extension ))
; | |
| 1348 Assert.assertEquals(2, message.getExtensionCount(repeatedUint32Extension ))
; | |
| 1349 Assert.assertEquals(2, message.getExtensionCount(repeatedUint64Extension ))
; | |
| 1350 Assert.assertEquals(2, message.getExtensionCount(repeatedSint32Extension ))
; | |
| 1351 Assert.assertEquals(2, message.getExtensionCount(repeatedSint64Extension ))
; | |
| 1352 Assert.assertEquals(2, message.getExtensionCount(repeatedFixed32Extension ))
; | |
| 1353 Assert.assertEquals(2, message.getExtensionCount(repeatedFixed64Extension ))
; | |
| 1354 Assert.assertEquals(2, message.getExtensionCount(repeatedSfixed32Extension))
; | |
| 1355 Assert.assertEquals(2, message.getExtensionCount(repeatedSfixed64Extension))
; | |
| 1356 Assert.assertEquals(2, message.getExtensionCount(repeatedFloatExtension ))
; | |
| 1357 Assert.assertEquals(2, message.getExtensionCount(repeatedDoubleExtension ))
; | |
| 1358 Assert.assertEquals(2, message.getExtensionCount(repeatedBoolExtension ))
; | |
| 1359 Assert.assertEquals(2, message.getExtensionCount(repeatedStringExtension ))
; | |
| 1360 Assert.assertEquals(2, message.getExtensionCount(repeatedBytesExtension ))
; | |
| 1361 | |
| 1362 Assert.assertEquals(2, message.getExtensionCount(repeatedGroupExtension
)); | |
| 1363 Assert.assertEquals(2, message.getExtensionCount(repeatedNestedMessageExtens
ion )); | |
| 1364 Assert.assertEquals(2, message.getExtensionCount(repeatedForeignMessageExten
sion)); | |
| 1365 Assert.assertEquals(2, message.getExtensionCount(repeatedImportMessageExtens
ion )); | |
| 1366 Assert.assertEquals(2, message.getExtensionCount(repeatedLazyMessageExtensio
n )); | |
| 1367 Assert.assertEquals(2, message.getExtensionCount(repeatedNestedEnumExtension
)); | |
| 1368 Assert.assertEquals(2, message.getExtensionCount(repeatedForeignEnumExtensio
n )); | |
| 1369 Assert.assertEquals(2, message.getExtensionCount(repeatedImportEnumExtension
)); | |
| 1370 | |
| 1371 Assert.assertEquals(2, message.getExtensionCount(repeatedStringPieceExtensio
n)); | |
| 1372 Assert.assertEquals(2, message.getExtensionCount(repeatedCordExtension)); | |
| 1373 | |
| 1374 assertEqualsExactType(201 , message.getExtension(repeatedInt32Extension ,
0)); | |
| 1375 assertEqualsExactType(202L , message.getExtension(repeatedInt64Extension ,
0)); | |
| 1376 assertEqualsExactType(203 , message.getExtension(repeatedUint32Extension ,
0)); | |
| 1377 assertEqualsExactType(204L , message.getExtension(repeatedUint64Extension ,
0)); | |
| 1378 assertEqualsExactType(205 , message.getExtension(repeatedSint32Extension ,
0)); | |
| 1379 assertEqualsExactType(206L , message.getExtension(repeatedSint64Extension ,
0)); | |
| 1380 assertEqualsExactType(207 , message.getExtension(repeatedFixed32Extension ,
0)); | |
| 1381 assertEqualsExactType(208L , message.getExtension(repeatedFixed64Extension ,
0)); | |
| 1382 assertEqualsExactType(209 , message.getExtension(repeatedSfixed32Extension,
0)); | |
| 1383 assertEqualsExactType(210L , message.getExtension(repeatedSfixed64Extension,
0)); | |
| 1384 assertEqualsExactType(211F , message.getExtension(repeatedFloatExtension ,
0)); | |
| 1385 assertEqualsExactType(212D , message.getExtension(repeatedDoubleExtension ,
0)); | |
| 1386 assertEqualsExactType(true , message.getExtension(repeatedBoolExtension ,
0)); | |
| 1387 assertEqualsExactType("215", message.getExtension(repeatedStringExtension ,
0)); | |
| 1388 assertEqualsExactType(toBytes("216"), message.getExtension(repeatedBytesExte
nsion, 0)); | |
| 1389 | |
| 1390 assertEqualsExactType(217, message.getExtension(repeatedGroupExtension
, 0).getA()); | |
| 1391 assertEqualsExactType(218, message.getExtension(repeatedNestedMessageExtensi
on , 0).getBb()); | |
| 1392 assertEqualsExactType(219, message.getExtension(repeatedForeignMessageExtens
ion, 0).getC()); | |
| 1393 assertEqualsExactType(220, message.getExtension(repeatedImportMessageExtensi
on , 0).getD()); | |
| 1394 assertEqualsExactType(227, message.getExtension(repeatedLazyMessageExtension
, 0).getBb()); | |
| 1395 | |
| 1396 assertEqualsExactType(TestAllTypes.NestedEnum.BAR, | |
| 1397 message.getExtension(repeatedNestedEnumExtension, 0)); | |
| 1398 assertEqualsExactType(ForeignEnum.FOREIGN_BAR, | |
| 1399 message.getExtension(repeatedForeignEnumExtension, 0)); | |
| 1400 assertEqualsExactType(ImportEnum.IMPORT_BAR, | |
| 1401 message.getExtension(repeatedImportEnumExtension, 0)); | |
| 1402 | |
| 1403 assertEqualsExactType("224", message.getExtension(repeatedStringPieceExtensi
on, 0)); | |
| 1404 assertEqualsExactType("225", message.getExtension(repeatedCordExtension, 0))
; | |
| 1405 | |
| 1406 assertEqualsExactType(301 , message.getExtension(repeatedInt32Extension ,
1)); | |
| 1407 assertEqualsExactType(302L , message.getExtension(repeatedInt64Extension ,
1)); | |
| 1408 assertEqualsExactType(303 , message.getExtension(repeatedUint32Extension ,
1)); | |
| 1409 assertEqualsExactType(304L , message.getExtension(repeatedUint64Extension ,
1)); | |
| 1410 assertEqualsExactType(305 , message.getExtension(repeatedSint32Extension ,
1)); | |
| 1411 assertEqualsExactType(306L , message.getExtension(repeatedSint64Extension ,
1)); | |
| 1412 assertEqualsExactType(307 , message.getExtension(repeatedFixed32Extension ,
1)); | |
| 1413 assertEqualsExactType(308L , message.getExtension(repeatedFixed64Extension ,
1)); | |
| 1414 assertEqualsExactType(309 , message.getExtension(repeatedSfixed32Extension,
1)); | |
| 1415 assertEqualsExactType(310L , message.getExtension(repeatedSfixed64Extension,
1)); | |
| 1416 assertEqualsExactType(311F , message.getExtension(repeatedFloatExtension ,
1)); | |
| 1417 assertEqualsExactType(312D , message.getExtension(repeatedDoubleExtension ,
1)); | |
| 1418 assertEqualsExactType(false, message.getExtension(repeatedBoolExtension ,
1)); | |
| 1419 assertEqualsExactType("315", message.getExtension(repeatedStringExtension ,
1)); | |
| 1420 assertEqualsExactType(toBytes("316"), message.getExtension(repeatedBytesExte
nsion, 1)); | |
| 1421 | |
| 1422 assertEqualsExactType(317, message.getExtension(repeatedGroupExtension
, 1).getA()); | |
| 1423 assertEqualsExactType(318, message.getExtension(repeatedNestedMessageExtensi
on , 1).getBb()); | |
| 1424 assertEqualsExactType(319, message.getExtension(repeatedForeignMessageExtens
ion, 1).getC()); | |
| 1425 assertEqualsExactType(320, message.getExtension(repeatedImportMessageExtensi
on , 1).getD()); | |
| 1426 assertEqualsExactType(327, message.getExtension(repeatedLazyMessageExtension
, 1).getBb()); | |
| 1427 | |
| 1428 assertEqualsExactType(TestAllTypes.NestedEnum.BAZ, | |
| 1429 message.getExtension(repeatedNestedEnumExtension, 1)); | |
| 1430 assertEqualsExactType(ForeignEnum.FOREIGN_BAZ, | |
| 1431 message.getExtension(repeatedForeignEnumExtension, 1)); | |
| 1432 assertEqualsExactType(ImportEnum.IMPORT_BAZ, | |
| 1433 message.getExtension(repeatedImportEnumExtension, 1)); | |
| 1434 | |
| 1435 assertEqualsExactType("324", message.getExtension(repeatedStringPieceExtensi
on, 1)); | |
| 1436 assertEqualsExactType("325", message.getExtension(repeatedCordExtension, 1))
; | |
| 1437 | |
| 1438 // ----------------------------------------------------------------- | |
| 1439 | |
| 1440 Assert.assertTrue(message.hasExtension(defaultInt32Extension )); | |
| 1441 Assert.assertTrue(message.hasExtension(defaultInt64Extension )); | |
| 1442 Assert.assertTrue(message.hasExtension(defaultUint32Extension )); | |
| 1443 Assert.assertTrue(message.hasExtension(defaultUint64Extension )); | |
| 1444 Assert.assertTrue(message.hasExtension(defaultSint32Extension )); | |
| 1445 Assert.assertTrue(message.hasExtension(defaultSint64Extension )); | |
| 1446 Assert.assertTrue(message.hasExtension(defaultFixed32Extension )); | |
| 1447 Assert.assertTrue(message.hasExtension(defaultFixed64Extension )); | |
| 1448 Assert.assertTrue(message.hasExtension(defaultSfixed32Extension)); | |
| 1449 Assert.assertTrue(message.hasExtension(defaultSfixed64Extension)); | |
| 1450 Assert.assertTrue(message.hasExtension(defaultFloatExtension )); | |
| 1451 Assert.assertTrue(message.hasExtension(defaultDoubleExtension )); | |
| 1452 Assert.assertTrue(message.hasExtension(defaultBoolExtension )); | |
| 1453 Assert.assertTrue(message.hasExtension(defaultStringExtension )); | |
| 1454 Assert.assertTrue(message.hasExtension(defaultBytesExtension )); | |
| 1455 | |
| 1456 Assert.assertTrue(message.hasExtension(defaultNestedEnumExtension )); | |
| 1457 Assert.assertTrue(message.hasExtension(defaultForeignEnumExtension)); | |
| 1458 Assert.assertTrue(message.hasExtension(defaultImportEnumExtension )); | |
| 1459 | |
| 1460 Assert.assertTrue(message.hasExtension(defaultStringPieceExtension)); | |
| 1461 Assert.assertTrue(message.hasExtension(defaultCordExtension)); | |
| 1462 | |
| 1463 assertEqualsExactType(401 , message.getExtension(defaultInt32Extension ))
; | |
| 1464 assertEqualsExactType(402L , message.getExtension(defaultInt64Extension ))
; | |
| 1465 assertEqualsExactType(403 , message.getExtension(defaultUint32Extension ))
; | |
| 1466 assertEqualsExactType(404L , message.getExtension(defaultUint64Extension ))
; | |
| 1467 assertEqualsExactType(405 , message.getExtension(defaultSint32Extension ))
; | |
| 1468 assertEqualsExactType(406L , message.getExtension(defaultSint64Extension ))
; | |
| 1469 assertEqualsExactType(407 , message.getExtension(defaultFixed32Extension ))
; | |
| 1470 assertEqualsExactType(408L , message.getExtension(defaultFixed64Extension ))
; | |
| 1471 assertEqualsExactType(409 , message.getExtension(defaultSfixed32Extension))
; | |
| 1472 assertEqualsExactType(410L , message.getExtension(defaultSfixed64Extension))
; | |
| 1473 assertEqualsExactType(411F , message.getExtension(defaultFloatExtension ))
; | |
| 1474 assertEqualsExactType(412D , message.getExtension(defaultDoubleExtension ))
; | |
| 1475 assertEqualsExactType(false, message.getExtension(defaultBoolExtension ))
; | |
| 1476 assertEqualsExactType("415", message.getExtension(defaultStringExtension ))
; | |
| 1477 assertEqualsExactType(toBytes("416"), message.getExtension(defaultBytesExten
sion)); | |
| 1478 | |
| 1479 assertEqualsExactType(TestAllTypes.NestedEnum.FOO, | |
| 1480 message.getExtension(defaultNestedEnumExtension )); | |
| 1481 assertEqualsExactType(ForeignEnum.FOREIGN_FOO, | |
| 1482 message.getExtension(defaultForeignEnumExtension)); | |
| 1483 assertEqualsExactType(ImportEnum.IMPORT_FOO, | |
| 1484 message.getExtension(defaultImportEnumExtension)); | |
| 1485 | |
| 1486 assertEqualsExactType("424", message.getExtension(defaultStringPieceExtensio
n)); | |
| 1487 assertEqualsExactType("425", message.getExtension(defaultCordExtension)); | |
| 1488 } | |
| 1489 | |
| 1490 // ------------------------------------------------------------------- | |
| 1491 | |
| 1492 /** | |
| 1493 * Assert (using {@code junit.framework.Assert}} that all extensions of | |
| 1494 * {@code message} are cleared, and that getting the extensions returns their | |
| 1495 * default values. | |
| 1496 */ | |
| 1497 public static void assertExtensionsClear(TestAllExtensionsOrBuilder message) { | |
| 1498 // hasBlah() should initially be false for all optional fields. | |
| 1499 Assert.assertFalse(message.hasExtension(optionalInt32Extension )); | |
| 1500 Assert.assertFalse(message.hasExtension(optionalInt64Extension )); | |
| 1501 Assert.assertFalse(message.hasExtension(optionalUint32Extension )); | |
| 1502 Assert.assertFalse(message.hasExtension(optionalUint64Extension )); | |
| 1503 Assert.assertFalse(message.hasExtension(optionalSint32Extension )); | |
| 1504 Assert.assertFalse(message.hasExtension(optionalSint64Extension )); | |
| 1505 Assert.assertFalse(message.hasExtension(optionalFixed32Extension )); | |
| 1506 Assert.assertFalse(message.hasExtension(optionalFixed64Extension )); | |
| 1507 Assert.assertFalse(message.hasExtension(optionalSfixed32Extension)); | |
| 1508 Assert.assertFalse(message.hasExtension(optionalSfixed64Extension)); | |
| 1509 Assert.assertFalse(message.hasExtension(optionalFloatExtension )); | |
| 1510 Assert.assertFalse(message.hasExtension(optionalDoubleExtension )); | |
| 1511 Assert.assertFalse(message.hasExtension(optionalBoolExtension )); | |
| 1512 Assert.assertFalse(message.hasExtension(optionalStringExtension )); | |
| 1513 Assert.assertFalse(message.hasExtension(optionalBytesExtension )); | |
| 1514 | |
| 1515 Assert.assertFalse(message.hasExtension(optionalGroupExtension )); | |
| 1516 Assert.assertFalse(message.hasExtension(optionalNestedMessageExtension )); | |
| 1517 Assert.assertFalse(message.hasExtension(optionalForeignMessageExtension)); | |
| 1518 Assert.assertFalse(message.hasExtension(optionalImportMessageExtension )); | |
| 1519 | |
| 1520 Assert.assertFalse(message.hasExtension(optionalNestedEnumExtension )); | |
| 1521 Assert.assertFalse(message.hasExtension(optionalForeignEnumExtension)); | |
| 1522 Assert.assertFalse(message.hasExtension(optionalImportEnumExtension )); | |
| 1523 | |
| 1524 Assert.assertFalse(message.hasExtension(optionalStringPieceExtension)); | |
| 1525 Assert.assertFalse(message.hasExtension(optionalCordExtension)); | |
| 1526 | |
| 1527 // Optional fields without defaults are set to zero or something like it. | |
| 1528 assertEqualsExactType(0 , message.getExtension(optionalInt32Extension )
); | |
| 1529 assertEqualsExactType(0L , message.getExtension(optionalInt64Extension )
); | |
| 1530 assertEqualsExactType(0 , message.getExtension(optionalUint32Extension )
); | |
| 1531 assertEqualsExactType(0L , message.getExtension(optionalUint64Extension )
); | |
| 1532 assertEqualsExactType(0 , message.getExtension(optionalSint32Extension )
); | |
| 1533 assertEqualsExactType(0L , message.getExtension(optionalSint64Extension )
); | |
| 1534 assertEqualsExactType(0 , message.getExtension(optionalFixed32Extension )
); | |
| 1535 assertEqualsExactType(0L , message.getExtension(optionalFixed64Extension )
); | |
| 1536 assertEqualsExactType(0 , message.getExtension(optionalSfixed32Extension)
); | |
| 1537 assertEqualsExactType(0L , message.getExtension(optionalSfixed64Extension)
); | |
| 1538 assertEqualsExactType(0F , message.getExtension(optionalFloatExtension )
); | |
| 1539 assertEqualsExactType(0D , message.getExtension(optionalDoubleExtension )
); | |
| 1540 assertEqualsExactType(false, message.getExtension(optionalBoolExtension )
); | |
| 1541 assertEqualsExactType("" , message.getExtension(optionalStringExtension )
); | |
| 1542 assertEqualsExactType(ByteString.EMPTY, message.getExtension(optionalBytesEx
tension)); | |
| 1543 | |
| 1544 // Embedded messages should also be clear. | |
| 1545 Assert.assertFalse(message.getExtension(optionalGroupExtension ).has
A()); | |
| 1546 Assert.assertFalse(message.getExtension(optionalNestedMessageExtension ).has
Bb()); | |
| 1547 Assert.assertFalse(message.getExtension(optionalForeignMessageExtension).has
C()); | |
| 1548 Assert.assertFalse(message.getExtension(optionalImportMessageExtension ).has
D()); | |
| 1549 | |
| 1550 assertEqualsExactType(0, message.getExtension(optionalGroupExtension
).getA()); | |
| 1551 assertEqualsExactType(0, message.getExtension(optionalNestedMessageExtension
).getBb()); | |
| 1552 assertEqualsExactType(0, message.getExtension(optionalForeignMessageExtensio
n).getC()); | |
| 1553 assertEqualsExactType(0, message.getExtension(optionalImportMessageExtension
).getD()); | |
| 1554 | |
| 1555 // Enums without defaults are set to the first value in the enum. | |
| 1556 assertEqualsExactType(TestAllTypes.NestedEnum.FOO, | |
| 1557 message.getExtension(optionalNestedEnumExtension )); | |
| 1558 assertEqualsExactType(ForeignEnum.FOREIGN_FOO, | |
| 1559 message.getExtension(optionalForeignEnumExtension)); | |
| 1560 assertEqualsExactType(ImportEnum.IMPORT_FOO, | |
| 1561 message.getExtension(optionalImportEnumExtension)); | |
| 1562 | |
| 1563 assertEqualsExactType("", message.getExtension(optionalStringPieceExtension)
); | |
| 1564 assertEqualsExactType("", message.getExtension(optionalCordExtension)); | |
| 1565 | |
| 1566 // Repeated fields are empty. | |
| 1567 Assert.assertEquals(0, message.getExtensionCount(repeatedInt32Extension ))
; | |
| 1568 Assert.assertEquals(0, message.getExtensionCount(repeatedInt64Extension ))
; | |
| 1569 Assert.assertEquals(0, message.getExtensionCount(repeatedUint32Extension ))
; | |
| 1570 Assert.assertEquals(0, message.getExtensionCount(repeatedUint64Extension ))
; | |
| 1571 Assert.assertEquals(0, message.getExtensionCount(repeatedSint32Extension ))
; | |
| 1572 Assert.assertEquals(0, message.getExtensionCount(repeatedSint64Extension ))
; | |
| 1573 Assert.assertEquals(0, message.getExtensionCount(repeatedFixed32Extension ))
; | |
| 1574 Assert.assertEquals(0, message.getExtensionCount(repeatedFixed64Extension ))
; | |
| 1575 Assert.assertEquals(0, message.getExtensionCount(repeatedSfixed32Extension))
; | |
| 1576 Assert.assertEquals(0, message.getExtensionCount(repeatedSfixed64Extension))
; | |
| 1577 Assert.assertEquals(0, message.getExtensionCount(repeatedFloatExtension ))
; | |
| 1578 Assert.assertEquals(0, message.getExtensionCount(repeatedDoubleExtension ))
; | |
| 1579 Assert.assertEquals(0, message.getExtensionCount(repeatedBoolExtension ))
; | |
| 1580 Assert.assertEquals(0, message.getExtensionCount(repeatedStringExtension ))
; | |
| 1581 Assert.assertEquals(0, message.getExtensionCount(repeatedBytesExtension ))
; | |
| 1582 | |
| 1583 Assert.assertEquals(0, message.getExtensionCount(repeatedGroupExtension
)); | |
| 1584 Assert.assertEquals(0, message.getExtensionCount(repeatedNestedMessageExtens
ion )); | |
| 1585 Assert.assertEquals(0, message.getExtensionCount(repeatedForeignMessageExten
sion)); | |
| 1586 Assert.assertEquals(0, message.getExtensionCount(repeatedImportMessageExtens
ion )); | |
| 1587 Assert.assertEquals(0, message.getExtensionCount(repeatedLazyMessageExtensio
n )); | |
| 1588 Assert.assertEquals(0, message.getExtensionCount(repeatedNestedEnumExtension
)); | |
| 1589 Assert.assertEquals(0, message.getExtensionCount(repeatedForeignEnumExtensio
n )); | |
| 1590 Assert.assertEquals(0, message.getExtensionCount(repeatedImportEnumExtension
)); | |
| 1591 | |
| 1592 Assert.assertEquals(0, message.getExtensionCount(repeatedStringPieceExtensio
n)); | |
| 1593 Assert.assertEquals(0, message.getExtensionCount(repeatedCordExtension)); | |
| 1594 | |
| 1595 // Repeated fields are empty via getExtension().size(). | |
| 1596 Assert.assertEquals(0, message.getExtension(repeatedInt32Extension ).size(
)); | |
| 1597 Assert.assertEquals(0, message.getExtension(repeatedInt64Extension ).size(
)); | |
| 1598 Assert.assertEquals(0, message.getExtension(repeatedUint32Extension ).size(
)); | |
| 1599 Assert.assertEquals(0, message.getExtension(repeatedUint64Extension ).size(
)); | |
| 1600 Assert.assertEquals(0, message.getExtension(repeatedSint32Extension ).size(
)); | |
| 1601 Assert.assertEquals(0, message.getExtension(repeatedSint64Extension ).size(
)); | |
| 1602 Assert.assertEquals(0, message.getExtension(repeatedFixed32Extension ).size(
)); | |
| 1603 Assert.assertEquals(0, message.getExtension(repeatedFixed64Extension ).size(
)); | |
| 1604 Assert.assertEquals(0, message.getExtension(repeatedSfixed32Extension).size(
)); | |
| 1605 Assert.assertEquals(0, message.getExtension(repeatedSfixed64Extension).size(
)); | |
| 1606 Assert.assertEquals(0, message.getExtension(repeatedFloatExtension ).size(
)); | |
| 1607 Assert.assertEquals(0, message.getExtension(repeatedDoubleExtension ).size(
)); | |
| 1608 Assert.assertEquals(0, message.getExtension(repeatedBoolExtension ).size(
)); | |
| 1609 Assert.assertEquals(0, message.getExtension(repeatedStringExtension ).size(
)); | |
| 1610 Assert.assertEquals(0, message.getExtension(repeatedBytesExtension ).size(
)); | |
| 1611 | |
| 1612 Assert.assertEquals(0, message.getExtension(repeatedGroupExtension )
.size()); | |
| 1613 Assert.assertEquals(0, message.getExtension(repeatedNestedMessageExtension )
.size()); | |
| 1614 Assert.assertEquals(0, message.getExtension(repeatedForeignMessageExtension)
.size()); | |
| 1615 Assert.assertEquals(0, message.getExtension(repeatedImportMessageExtension )
.size()); | |
| 1616 Assert.assertEquals(0, message.getExtension(repeatedLazyMessageExtension )
.size()); | |
| 1617 Assert.assertEquals(0, message.getExtension(repeatedNestedEnumExtension )
.size()); | |
| 1618 Assert.assertEquals(0, message.getExtension(repeatedForeignEnumExtension )
.size()); | |
| 1619 Assert.assertEquals(0, message.getExtension(repeatedImportEnumExtension )
.size()); | |
| 1620 | |
| 1621 Assert.assertEquals(0, message.getExtension(repeatedStringPieceExtension).si
ze()); | |
| 1622 Assert.assertEquals(0, message.getExtension(repeatedCordExtension).size()); | |
| 1623 | |
| 1624 // hasBlah() should also be false for all default fields. | |
| 1625 Assert.assertFalse(message.hasExtension(defaultInt32Extension )); | |
| 1626 Assert.assertFalse(message.hasExtension(defaultInt64Extension )); | |
| 1627 Assert.assertFalse(message.hasExtension(defaultUint32Extension )); | |
| 1628 Assert.assertFalse(message.hasExtension(defaultUint64Extension )); | |
| 1629 Assert.assertFalse(message.hasExtension(defaultSint32Extension )); | |
| 1630 Assert.assertFalse(message.hasExtension(defaultSint64Extension )); | |
| 1631 Assert.assertFalse(message.hasExtension(defaultFixed32Extension )); | |
| 1632 Assert.assertFalse(message.hasExtension(defaultFixed64Extension )); | |
| 1633 Assert.assertFalse(message.hasExtension(defaultSfixed32Extension)); | |
| 1634 Assert.assertFalse(message.hasExtension(defaultSfixed64Extension)); | |
| 1635 Assert.assertFalse(message.hasExtension(defaultFloatExtension )); | |
| 1636 Assert.assertFalse(message.hasExtension(defaultDoubleExtension )); | |
| 1637 Assert.assertFalse(message.hasExtension(defaultBoolExtension )); | |
| 1638 Assert.assertFalse(message.hasExtension(defaultStringExtension )); | |
| 1639 Assert.assertFalse(message.hasExtension(defaultBytesExtension )); | |
| 1640 | |
| 1641 Assert.assertFalse(message.hasExtension(defaultNestedEnumExtension )); | |
| 1642 Assert.assertFalse(message.hasExtension(defaultForeignEnumExtension)); | |
| 1643 Assert.assertFalse(message.hasExtension(defaultImportEnumExtension )); | |
| 1644 | |
| 1645 Assert.assertFalse(message.hasExtension(defaultStringPieceExtension)); | |
| 1646 Assert.assertFalse(message.hasExtension(defaultCordExtension)); | |
| 1647 | |
| 1648 // Fields with defaults have their default values (duh). | |
| 1649 assertEqualsExactType( 41 , message.getExtension(defaultInt32Extension
)); | |
| 1650 assertEqualsExactType( 42L , message.getExtension(defaultInt64Extension
)); | |
| 1651 assertEqualsExactType( 43 , message.getExtension(defaultUint32Extension
)); | |
| 1652 assertEqualsExactType( 44L , message.getExtension(defaultUint64Extension
)); | |
| 1653 assertEqualsExactType(-45 , message.getExtension(defaultSint32Extension
)); | |
| 1654 assertEqualsExactType( 46L , message.getExtension(defaultSint64Extension
)); | |
| 1655 assertEqualsExactType( 47 , message.getExtension(defaultFixed32Extension
)); | |
| 1656 assertEqualsExactType( 48L , message.getExtension(defaultFixed64Extension
)); | |
| 1657 assertEqualsExactType( 49 , message.getExtension(defaultSfixed32Extension
)); | |
| 1658 assertEqualsExactType(-50L , message.getExtension(defaultSfixed64Extension
)); | |
| 1659 assertEqualsExactType( 51.5F , message.getExtension(defaultFloatExtension
)); | |
| 1660 assertEqualsExactType( 52e3D , message.getExtension(defaultDoubleExtension
)); | |
| 1661 assertEqualsExactType(true , message.getExtension(defaultBoolExtension
)); | |
| 1662 assertEqualsExactType("hello", message.getExtension(defaultStringExtension
)); | |
| 1663 assertEqualsExactType(toBytes("world"), message.getExtension(defaultBytesExt
ension)); | |
| 1664 | |
| 1665 assertEqualsExactType(TestAllTypes.NestedEnum.BAR, | |
| 1666 message.getExtension(defaultNestedEnumExtension )); | |
| 1667 assertEqualsExactType(ForeignEnum.FOREIGN_BAR, | |
| 1668 message.getExtension(defaultForeignEnumExtension)); | |
| 1669 assertEqualsExactType(ImportEnum.IMPORT_BAR, | |
| 1670 message.getExtension(defaultImportEnumExtension)); | |
| 1671 | |
| 1672 assertEqualsExactType("abc", message.getExtension(defaultStringPieceExtensio
n)); | |
| 1673 assertEqualsExactType("123", message.getExtension(defaultCordExtension)); | |
| 1674 } | |
| 1675 | |
| 1676 // ------------------------------------------------------------------- | |
| 1677 | |
| 1678 /** | |
| 1679 * Assert (using {@code junit.framework.Assert}} that all extensions of | |
| 1680 * {@code message} are set to the values assigned by {@code setAllExtensions} | |
| 1681 * followed by {@code modifyRepeatedExtensions}. | |
| 1682 */ | |
| 1683 public static void assertRepeatedExtensionsModified( | |
| 1684 TestAllExtensionsOrBuilder message) { | |
| 1685 // ModifyRepeatedFields only sets the second repeated element of each | |
| 1686 // field. In addition to verifying this, we also verify that the first | |
| 1687 // element and size were *not* modified. | |
| 1688 Assert.assertEquals(2, message.getExtensionCount(repeatedInt32Extension ))
; | |
| 1689 Assert.assertEquals(2, message.getExtensionCount(repeatedInt64Extension ))
; | |
| 1690 Assert.assertEquals(2, message.getExtensionCount(repeatedUint32Extension ))
; | |
| 1691 Assert.assertEquals(2, message.getExtensionCount(repeatedUint64Extension ))
; | |
| 1692 Assert.assertEquals(2, message.getExtensionCount(repeatedSint32Extension ))
; | |
| 1693 Assert.assertEquals(2, message.getExtensionCount(repeatedSint64Extension ))
; | |
| 1694 Assert.assertEquals(2, message.getExtensionCount(repeatedFixed32Extension ))
; | |
| 1695 Assert.assertEquals(2, message.getExtensionCount(repeatedFixed64Extension ))
; | |
| 1696 Assert.assertEquals(2, message.getExtensionCount(repeatedSfixed32Extension))
; | |
| 1697 Assert.assertEquals(2, message.getExtensionCount(repeatedSfixed64Extension))
; | |
| 1698 Assert.assertEquals(2, message.getExtensionCount(repeatedFloatExtension ))
; | |
| 1699 Assert.assertEquals(2, message.getExtensionCount(repeatedDoubleExtension ))
; | |
| 1700 Assert.assertEquals(2, message.getExtensionCount(repeatedBoolExtension ))
; | |
| 1701 Assert.assertEquals(2, message.getExtensionCount(repeatedStringExtension ))
; | |
| 1702 Assert.assertEquals(2, message.getExtensionCount(repeatedBytesExtension ))
; | |
| 1703 | |
| 1704 Assert.assertEquals(2, message.getExtensionCount(repeatedGroupExtension
)); | |
| 1705 Assert.assertEquals(2, message.getExtensionCount(repeatedNestedMessageExtens
ion )); | |
| 1706 Assert.assertEquals(2, message.getExtensionCount(repeatedForeignMessageExten
sion)); | |
| 1707 Assert.assertEquals(2, message.getExtensionCount(repeatedImportMessageExtens
ion )); | |
| 1708 Assert.assertEquals(2, message.getExtensionCount(repeatedLazyMessageExtensio
n )); | |
| 1709 Assert.assertEquals(2, message.getExtensionCount(repeatedNestedEnumExtension
)); | |
| 1710 Assert.assertEquals(2, message.getExtensionCount(repeatedForeignEnumExtensio
n )); | |
| 1711 Assert.assertEquals(2, message.getExtensionCount(repeatedImportEnumExtension
)); | |
| 1712 | |
| 1713 Assert.assertEquals(2, message.getExtensionCount(repeatedStringPieceExtensio
n)); | |
| 1714 Assert.assertEquals(2, message.getExtensionCount(repeatedCordExtension)); | |
| 1715 | |
| 1716 assertEqualsExactType(201 , message.getExtension(repeatedInt32Extension ,
0)); | |
| 1717 assertEqualsExactType(202L , message.getExtension(repeatedInt64Extension ,
0)); | |
| 1718 assertEqualsExactType(203 , message.getExtension(repeatedUint32Extension ,
0)); | |
| 1719 assertEqualsExactType(204L , message.getExtension(repeatedUint64Extension ,
0)); | |
| 1720 assertEqualsExactType(205 , message.getExtension(repeatedSint32Extension ,
0)); | |
| 1721 assertEqualsExactType(206L , message.getExtension(repeatedSint64Extension ,
0)); | |
| 1722 assertEqualsExactType(207 , message.getExtension(repeatedFixed32Extension ,
0)); | |
| 1723 assertEqualsExactType(208L , message.getExtension(repeatedFixed64Extension ,
0)); | |
| 1724 assertEqualsExactType(209 , message.getExtension(repeatedSfixed32Extension,
0)); | |
| 1725 assertEqualsExactType(210L , message.getExtension(repeatedSfixed64Extension,
0)); | |
| 1726 assertEqualsExactType(211F , message.getExtension(repeatedFloatExtension ,
0)); | |
| 1727 assertEqualsExactType(212D , message.getExtension(repeatedDoubleExtension ,
0)); | |
| 1728 assertEqualsExactType(true , message.getExtension(repeatedBoolExtension ,
0)); | |
| 1729 assertEqualsExactType("215", message.getExtension(repeatedStringExtension ,
0)); | |
| 1730 assertEqualsExactType(toBytes("216"), message.getExtension(repeatedBytesExte
nsion, 0)); | |
| 1731 | |
| 1732 assertEqualsExactType(217, message.getExtension(repeatedGroupExtension
, 0).getA()); | |
| 1733 assertEqualsExactType(218, message.getExtension(repeatedNestedMessageExtensi
on , 0).getBb()); | |
| 1734 assertEqualsExactType(219, message.getExtension(repeatedForeignMessageExtens
ion, 0).getC()); | |
| 1735 assertEqualsExactType(220, message.getExtension(repeatedImportMessageExtensi
on , 0).getD()); | |
| 1736 assertEqualsExactType(227, message.getExtension(repeatedLazyMessageExtension
, 0).getBb()); | |
| 1737 | |
| 1738 assertEqualsExactType(TestAllTypes.NestedEnum.BAR, | |
| 1739 message.getExtension(repeatedNestedEnumExtension, 0)); | |
| 1740 assertEqualsExactType(ForeignEnum.FOREIGN_BAR, | |
| 1741 message.getExtension(repeatedForeignEnumExtension, 0)); | |
| 1742 assertEqualsExactType(ImportEnum.IMPORT_BAR, | |
| 1743 message.getExtension(repeatedImportEnumExtension, 0)); | |
| 1744 | |
| 1745 assertEqualsExactType("224", message.getExtension(repeatedStringPieceExtensi
on, 0)); | |
| 1746 assertEqualsExactType("225", message.getExtension(repeatedCordExtension, 0))
; | |
| 1747 | |
| 1748 // Actually verify the second (modified) elements now. | |
| 1749 assertEqualsExactType(501 , message.getExtension(repeatedInt32Extension ,
1)); | |
| 1750 assertEqualsExactType(502L , message.getExtension(repeatedInt64Extension ,
1)); | |
| 1751 assertEqualsExactType(503 , message.getExtension(repeatedUint32Extension ,
1)); | |
| 1752 assertEqualsExactType(504L , message.getExtension(repeatedUint64Extension ,
1)); | |
| 1753 assertEqualsExactType(505 , message.getExtension(repeatedSint32Extension ,
1)); | |
| 1754 assertEqualsExactType(506L , message.getExtension(repeatedSint64Extension ,
1)); | |
| 1755 assertEqualsExactType(507 , message.getExtension(repeatedFixed32Extension ,
1)); | |
| 1756 assertEqualsExactType(508L , message.getExtension(repeatedFixed64Extension ,
1)); | |
| 1757 assertEqualsExactType(509 , message.getExtension(repeatedSfixed32Extension,
1)); | |
| 1758 assertEqualsExactType(510L , message.getExtension(repeatedSfixed64Extension,
1)); | |
| 1759 assertEqualsExactType(511F , message.getExtension(repeatedFloatExtension ,
1)); | |
| 1760 assertEqualsExactType(512D , message.getExtension(repeatedDoubleExtension ,
1)); | |
| 1761 assertEqualsExactType(true , message.getExtension(repeatedBoolExtension ,
1)); | |
| 1762 assertEqualsExactType("515", message.getExtension(repeatedStringExtension ,
1)); | |
| 1763 assertEqualsExactType(toBytes("516"), message.getExtension(repeatedBytesExte
nsion, 1)); | |
| 1764 | |
| 1765 assertEqualsExactType(517, message.getExtension(repeatedGroupExtension
, 1).getA()); | |
| 1766 assertEqualsExactType(518, message.getExtension(repeatedNestedMessageExtensi
on , 1).getBb()); | |
| 1767 assertEqualsExactType(519, message.getExtension(repeatedForeignMessageExtens
ion, 1).getC()); | |
| 1768 assertEqualsExactType(520, message.getExtension(repeatedImportMessageExtensi
on , 1).getD()); | |
| 1769 assertEqualsExactType(527, message.getExtension(repeatedLazyMessageExtension
, 1).getBb()); | |
| 1770 | |
| 1771 assertEqualsExactType(TestAllTypes.NestedEnum.FOO, | |
| 1772 message.getExtension(repeatedNestedEnumExtension, 1)); | |
| 1773 assertEqualsExactType(ForeignEnum.FOREIGN_FOO, | |
| 1774 message.getExtension(repeatedForeignEnumExtension, 1)); | |
| 1775 assertEqualsExactType(ImportEnum.IMPORT_FOO, | |
| 1776 message.getExtension(repeatedImportEnumExtension, 1)); | |
| 1777 | |
| 1778 assertEqualsExactType("524", message.getExtension(repeatedStringPieceExtensi
on, 1)); | |
| 1779 assertEqualsExactType("525", message.getExtension(repeatedCordExtension, 1))
; | |
| 1780 } | |
| 1781 | |
| 1782 public static void setPackedExtensions(TestPackedExtensions.Builder message) { | |
| 1783 message.addExtension(packedInt32Extension , 601); | |
| 1784 message.addExtension(packedInt64Extension , 602L); | |
| 1785 message.addExtension(packedUint32Extension , 603); | |
| 1786 message.addExtension(packedUint64Extension , 604L); | |
| 1787 message.addExtension(packedSint32Extension , 605); | |
| 1788 message.addExtension(packedSint64Extension , 606L); | |
| 1789 message.addExtension(packedFixed32Extension , 607); | |
| 1790 message.addExtension(packedFixed64Extension , 608L); | |
| 1791 message.addExtension(packedSfixed32Extension, 609); | |
| 1792 message.addExtension(packedSfixed64Extension, 610L); | |
| 1793 message.addExtension(packedFloatExtension , 611F); | |
| 1794 message.addExtension(packedDoubleExtension , 612D); | |
| 1795 message.addExtension(packedBoolExtension , true); | |
| 1796 message.addExtension(packedEnumExtension, ForeignEnum.FOREIGN_BAR); | |
| 1797 // Add a second one of each field. | |
| 1798 message.addExtension(packedInt32Extension , 701); | |
| 1799 message.addExtension(packedInt64Extension , 702L); | |
| 1800 message.addExtension(packedUint32Extension , 703); | |
| 1801 message.addExtension(packedUint64Extension , 704L); | |
| 1802 message.addExtension(packedSint32Extension , 705); | |
| 1803 message.addExtension(packedSint64Extension , 706L); | |
| 1804 message.addExtension(packedFixed32Extension , 707); | |
| 1805 message.addExtension(packedFixed64Extension , 708L); | |
| 1806 message.addExtension(packedSfixed32Extension, 709); | |
| 1807 message.addExtension(packedSfixed64Extension, 710L); | |
| 1808 message.addExtension(packedFloatExtension , 711F); | |
| 1809 message.addExtension(packedDoubleExtension , 712D); | |
| 1810 message.addExtension(packedBoolExtension , false); | |
| 1811 message.addExtension(packedEnumExtension, ForeignEnum.FOREIGN_BAZ); | |
| 1812 } | |
| 1813 | |
| 1814 public static void assertPackedExtensionsSet(TestPackedExtensions message) { | |
| 1815 Assert.assertEquals(2, message.getExtensionCount(packedInt32Extension )); | |
| 1816 Assert.assertEquals(2, message.getExtensionCount(packedInt64Extension )); | |
| 1817 Assert.assertEquals(2, message.getExtensionCount(packedUint32Extension )); | |
| 1818 Assert.assertEquals(2, message.getExtensionCount(packedUint64Extension )); | |
| 1819 Assert.assertEquals(2, message.getExtensionCount(packedSint32Extension )); | |
| 1820 Assert.assertEquals(2, message.getExtensionCount(packedSint64Extension )); | |
| 1821 Assert.assertEquals(2, message.getExtensionCount(packedFixed32Extension )); | |
| 1822 Assert.assertEquals(2, message.getExtensionCount(packedFixed64Extension )); | |
| 1823 Assert.assertEquals(2, message.getExtensionCount(packedSfixed32Extension)); | |
| 1824 Assert.assertEquals(2, message.getExtensionCount(packedSfixed64Extension)); | |
| 1825 Assert.assertEquals(2, message.getExtensionCount(packedFloatExtension )); | |
| 1826 Assert.assertEquals(2, message.getExtensionCount(packedDoubleExtension )); | |
| 1827 Assert.assertEquals(2, message.getExtensionCount(packedBoolExtension )); | |
| 1828 Assert.assertEquals(2, message.getExtensionCount(packedEnumExtension)); | |
| 1829 assertEqualsExactType(601 , message.getExtension(packedInt32Extension , 0
)); | |
| 1830 assertEqualsExactType(602L , message.getExtension(packedInt64Extension , 0
)); | |
| 1831 assertEqualsExactType(603 , message.getExtension(packedUint32Extension , 0
)); | |
| 1832 assertEqualsExactType(604L , message.getExtension(packedUint64Extension , 0
)); | |
| 1833 assertEqualsExactType(605 , message.getExtension(packedSint32Extension , 0
)); | |
| 1834 assertEqualsExactType(606L , message.getExtension(packedSint64Extension , 0
)); | |
| 1835 assertEqualsExactType(607 , message.getExtension(packedFixed32Extension , 0
)); | |
| 1836 assertEqualsExactType(608L , message.getExtension(packedFixed64Extension , 0
)); | |
| 1837 assertEqualsExactType(609 , message.getExtension(packedSfixed32Extension, 0
)); | |
| 1838 assertEqualsExactType(610L , message.getExtension(packedSfixed64Extension, 0
)); | |
| 1839 assertEqualsExactType(611F , message.getExtension(packedFloatExtension , 0
)); | |
| 1840 assertEqualsExactType(612D , message.getExtension(packedDoubleExtension , 0
)); | |
| 1841 assertEqualsExactType(true , message.getExtension(packedBoolExtension , 0
)); | |
| 1842 assertEqualsExactType(ForeignEnum.FOREIGN_BAR, | |
| 1843 message.getExtension(packedEnumExtension, 0)); | |
| 1844 assertEqualsExactType(701 , message.getExtension(packedInt32Extension , 1
)); | |
| 1845 assertEqualsExactType(702L , message.getExtension(packedInt64Extension , 1
)); | |
| 1846 assertEqualsExactType(703 , message.getExtension(packedUint32Extension , 1
)); | |
| 1847 assertEqualsExactType(704L , message.getExtension(packedUint64Extension , 1
)); | |
| 1848 assertEqualsExactType(705 , message.getExtension(packedSint32Extension , 1
)); | |
| 1849 assertEqualsExactType(706L , message.getExtension(packedSint64Extension , 1
)); | |
| 1850 assertEqualsExactType(707 , message.getExtension(packedFixed32Extension , 1
)); | |
| 1851 assertEqualsExactType(708L , message.getExtension(packedFixed64Extension , 1
)); | |
| 1852 assertEqualsExactType(709 , message.getExtension(packedSfixed32Extension, 1
)); | |
| 1853 assertEqualsExactType(710L , message.getExtension(packedSfixed64Extension, 1
)); | |
| 1854 assertEqualsExactType(711F , message.getExtension(packedFloatExtension , 1
)); | |
| 1855 assertEqualsExactType(712D , message.getExtension(packedDoubleExtension , 1
)); | |
| 1856 assertEqualsExactType(false, message.getExtension(packedBoolExtension , 1
)); | |
| 1857 assertEqualsExactType(ForeignEnum.FOREIGN_BAZ, | |
| 1858 message.getExtension(packedEnumExtension, 1)); | |
| 1859 } | |
| 1860 | |
| 1861 // ================================================================= | |
| 1862 | |
| 1863 /** | |
| 1864 * Performs the same things that the methods of {@code TestUtil} do, but | |
| 1865 * via the reflection interface. This is its own class because it needs | |
| 1866 * to know what descriptor to use. | |
| 1867 */ | |
| 1868 public static class ReflectionTester { | |
| 1869 private final Descriptors.Descriptor baseDescriptor; | |
| 1870 private final ExtensionRegistry extensionRegistry; | |
| 1871 | |
| 1872 private final Descriptors.FileDescriptor file; | |
| 1873 private final Descriptors.FileDescriptor importFile; | |
| 1874 private final Descriptors.FileDescriptor publicImportFile; | |
| 1875 | |
| 1876 private final Descriptors.Descriptor optionalGroup; | |
| 1877 private final Descriptors.Descriptor repeatedGroup; | |
| 1878 private final Descriptors.Descriptor nestedMessage; | |
| 1879 private final Descriptors.Descriptor foreignMessage; | |
| 1880 private final Descriptors.Descriptor importMessage; | |
| 1881 private final Descriptors.Descriptor publicImportMessage; | |
| 1882 | |
| 1883 private final Descriptors.FieldDescriptor groupA; | |
| 1884 private final Descriptors.FieldDescriptor repeatedGroupA; | |
| 1885 private final Descriptors.FieldDescriptor nestedB; | |
| 1886 private final Descriptors.FieldDescriptor foreignC; | |
| 1887 private final Descriptors.FieldDescriptor importD; | |
| 1888 private final Descriptors.FieldDescriptor importE; | |
| 1889 | |
| 1890 private final Descriptors.EnumDescriptor nestedEnum; | |
| 1891 private final Descriptors.EnumDescriptor foreignEnum; | |
| 1892 private final Descriptors.EnumDescriptor importEnum; | |
| 1893 | |
| 1894 private final Descriptors.EnumValueDescriptor nestedFoo; | |
| 1895 private final Descriptors.EnumValueDescriptor nestedBar; | |
| 1896 private final Descriptors.EnumValueDescriptor nestedBaz; | |
| 1897 private final Descriptors.EnumValueDescriptor foreignFoo; | |
| 1898 private final Descriptors.EnumValueDescriptor foreignBar; | |
| 1899 private final Descriptors.EnumValueDescriptor foreignBaz; | |
| 1900 private final Descriptors.EnumValueDescriptor importFoo; | |
| 1901 private final Descriptors.EnumValueDescriptor importBar; | |
| 1902 private final Descriptors.EnumValueDescriptor importBaz; | |
| 1903 | |
| 1904 /** | |
| 1905 * Construct a {@code ReflectionTester} that will expect messages using | |
| 1906 * the given descriptor. | |
| 1907 * | |
| 1908 * Normally {@code baseDescriptor} should be a descriptor for the type | |
| 1909 * {@code TestAllTypes}, defined in | |
| 1910 * {@code google/protobuf/unittest.proto}. However, if | |
| 1911 * {@code extensionRegistry} is non-null, then {@code baseDescriptor} should | |
| 1912 * be for {@code TestAllExtensions} instead, and instead of reading and | |
| 1913 * writing normal fields, the tester will read and write extensions. | |
| 1914 * All of {@code TestAllExtensions}' extensions must be registered in the | |
| 1915 * registry. | |
| 1916 */ | |
| 1917 public ReflectionTester(Descriptors.Descriptor baseDescriptor, | |
| 1918 ExtensionRegistry extensionRegistry) { | |
| 1919 this.baseDescriptor = baseDescriptor; | |
| 1920 this.extensionRegistry = extensionRegistry; | |
| 1921 | |
| 1922 this.file = baseDescriptor.getFile(); | |
| 1923 Assert.assertEquals(1, file.getDependencies().size()); | |
| 1924 this.importFile = file.getDependencies().get(0); | |
| 1925 this.publicImportFile = importFile.getDependencies().get(0); | |
| 1926 | |
| 1927 Descriptors.Descriptor testAllTypes; | |
| 1928 if (baseDescriptor.getName() == "TestAllTypes") { | |
| 1929 testAllTypes = baseDescriptor; | |
| 1930 } else { | |
| 1931 testAllTypes = file.findMessageTypeByName("TestAllTypes"); | |
| 1932 Assert.assertNotNull(testAllTypes); | |
| 1933 } | |
| 1934 | |
| 1935 if (extensionRegistry == null) { | |
| 1936 // Use testAllTypes, rather than baseDescriptor, to allow | |
| 1937 // initialization using TestPackedTypes descriptors. These objects | |
| 1938 // won't be used by the methods for packed fields. | |
| 1939 this.optionalGroup = | |
| 1940 testAllTypes.findNestedTypeByName("OptionalGroup"); | |
| 1941 this.repeatedGroup = | |
| 1942 testAllTypes.findNestedTypeByName("RepeatedGroup"); | |
| 1943 } else { | |
| 1944 this.optionalGroup = | |
| 1945 file.findMessageTypeByName("OptionalGroup_extension"); | |
| 1946 this.repeatedGroup = | |
| 1947 file.findMessageTypeByName("RepeatedGroup_extension"); | |
| 1948 } | |
| 1949 this.nestedMessage = testAllTypes.findNestedTypeByName("NestedMessage"); | |
| 1950 this.foreignMessage = file.findMessageTypeByName("ForeignMessage"); | |
| 1951 this.importMessage = importFile.findMessageTypeByName("ImportMessage"); | |
| 1952 this.publicImportMessage = publicImportFile.findMessageTypeByName( | |
| 1953 "PublicImportMessage"); | |
| 1954 | |
| 1955 this.nestedEnum = testAllTypes.findEnumTypeByName("NestedEnum"); | |
| 1956 this.foreignEnum = file.findEnumTypeByName("ForeignEnum"); | |
| 1957 this.importEnum = importFile.findEnumTypeByName("ImportEnum"); | |
| 1958 | |
| 1959 Assert.assertNotNull(optionalGroup ); | |
| 1960 Assert.assertNotNull(repeatedGroup ); | |
| 1961 Assert.assertNotNull(nestedMessage ); | |
| 1962 Assert.assertNotNull(foreignMessage); | |
| 1963 Assert.assertNotNull(importMessage ); | |
| 1964 Assert.assertNotNull(nestedEnum ); | |
| 1965 Assert.assertNotNull(foreignEnum ); | |
| 1966 Assert.assertNotNull(importEnum ); | |
| 1967 | |
| 1968 this.nestedB = nestedMessage .findFieldByName("bb"); | |
| 1969 this.foreignC = foreignMessage.findFieldByName("c"); | |
| 1970 this.importD = importMessage .findFieldByName("d"); | |
| 1971 this.importE = publicImportMessage.findFieldByName("e"); | |
| 1972 this.nestedFoo = nestedEnum.findValueByName("FOO"); | |
| 1973 this.nestedBar = nestedEnum.findValueByName("BAR"); | |
| 1974 this.nestedBaz = nestedEnum.findValueByName("BAZ"); | |
| 1975 this.foreignFoo = foreignEnum.findValueByName("FOREIGN_FOO"); | |
| 1976 this.foreignBar = foreignEnum.findValueByName("FOREIGN_BAR"); | |
| 1977 this.foreignBaz = foreignEnum.findValueByName("FOREIGN_BAZ"); | |
| 1978 this.importFoo = importEnum.findValueByName("IMPORT_FOO"); | |
| 1979 this.importBar = importEnum.findValueByName("IMPORT_BAR"); | |
| 1980 this.importBaz = importEnum.findValueByName("IMPORT_BAZ"); | |
| 1981 | |
| 1982 this.groupA = optionalGroup.findFieldByName("a"); | |
| 1983 this.repeatedGroupA = repeatedGroup.findFieldByName("a"); | |
| 1984 | |
| 1985 Assert.assertNotNull(groupA ); | |
| 1986 Assert.assertNotNull(repeatedGroupA); | |
| 1987 Assert.assertNotNull(nestedB ); | |
| 1988 Assert.assertNotNull(foreignC ); | |
| 1989 Assert.assertNotNull(importD ); | |
| 1990 Assert.assertNotNull(importE ); | |
| 1991 Assert.assertNotNull(nestedFoo ); | |
| 1992 Assert.assertNotNull(nestedBar ); | |
| 1993 Assert.assertNotNull(nestedBaz ); | |
| 1994 Assert.assertNotNull(foreignFoo ); | |
| 1995 Assert.assertNotNull(foreignBar ); | |
| 1996 Assert.assertNotNull(foreignBaz ); | |
| 1997 Assert.assertNotNull(importFoo ); | |
| 1998 Assert.assertNotNull(importBar ); | |
| 1999 Assert.assertNotNull(importBaz ); | |
| 2000 } | |
| 2001 | |
| 2002 /** | |
| 2003 * Shorthand to get a FieldDescriptor for a field of unittest::TestAllTypes. | |
| 2004 */ | |
| 2005 private Descriptors.FieldDescriptor f(String name) { | |
| 2006 Descriptors.FieldDescriptor result; | |
| 2007 if (extensionRegistry == null) { | |
| 2008 result = baseDescriptor.findFieldByName(name); | |
| 2009 } else { | |
| 2010 result = file.findExtensionByName(name + "_extension"); | |
| 2011 } | |
| 2012 Assert.assertNotNull(result); | |
| 2013 return result; | |
| 2014 } | |
| 2015 | |
| 2016 /** | |
| 2017 * Calls {@code parent.newBuilderForField()} or uses the | |
| 2018 * {@code ExtensionRegistry} to find an appropriate builder, depending | |
| 2019 * on what type is being tested. | |
| 2020 */ | |
| 2021 private Message.Builder newBuilderForField( | |
| 2022 Message.Builder parent, Descriptors.FieldDescriptor field) { | |
| 2023 if (extensionRegistry == null) { | |
| 2024 return parent.newBuilderForField(field); | |
| 2025 } else { | |
| 2026 ExtensionRegistry.ExtensionInfo extension = | |
| 2027 extensionRegistry.findExtensionByNumber(field.getContainingType(), | |
| 2028 field.getNumber()); | |
| 2029 Assert.assertNotNull(extension); | |
| 2030 Assert.assertNotNull(extension.defaultInstance); | |
| 2031 return extension.defaultInstance.newBuilderForType(); | |
| 2032 } | |
| 2033 } | |
| 2034 | |
| 2035 // ------------------------------------------------------------------- | |
| 2036 | |
| 2037 /** | |
| 2038 * Set every field of {@code message} to the values expected by | |
| 2039 * {@code assertAllFieldsSet()}, using the {@link Message.Builder} | |
| 2040 * reflection interface. | |
| 2041 */ | |
| 2042 void setAllFieldsViaReflection(Message.Builder message) { | |
| 2043 message.setField(f("optional_int32" ), 101 ); | |
| 2044 message.setField(f("optional_int64" ), 102L); | |
| 2045 message.setField(f("optional_uint32" ), 103 ); | |
| 2046 message.setField(f("optional_uint64" ), 104L); | |
| 2047 message.setField(f("optional_sint32" ), 105 ); | |
| 2048 message.setField(f("optional_sint64" ), 106L); | |
| 2049 message.setField(f("optional_fixed32" ), 107 ); | |
| 2050 message.setField(f("optional_fixed64" ), 108L); | |
| 2051 message.setField(f("optional_sfixed32"), 109 ); | |
| 2052 message.setField(f("optional_sfixed64"), 110L); | |
| 2053 message.setField(f("optional_float" ), 111F); | |
| 2054 message.setField(f("optional_double" ), 112D); | |
| 2055 message.setField(f("optional_bool" ), true); | |
| 2056 message.setField(f("optional_string" ), "115"); | |
| 2057 message.setField(f("optional_bytes" ), toBytes("116")); | |
| 2058 | |
| 2059 message.setField(f("optionalgroup"), | |
| 2060 newBuilderForField(message, f("optionalgroup")) | |
| 2061 .setField(groupA, 117).build()); | |
| 2062 message.setField(f("optional_nested_message"), | |
| 2063 newBuilderForField(message, f("optional_nested_message")) | |
| 2064 .setField(nestedB, 118).build()); | |
| 2065 message.setField(f("optional_foreign_message"), | |
| 2066 newBuilderForField(message, f("optional_foreign_message")) | |
| 2067 .setField(foreignC, 119).build()); | |
| 2068 message.setField(f("optional_import_message"), | |
| 2069 newBuilderForField(message, f("optional_import_message")) | |
| 2070 .setField(importD, 120).build()); | |
| 2071 message.setField(f("optional_public_import_message"), | |
| 2072 newBuilderForField(message, f("optional_public_import_message")) | |
| 2073 .setField(importE, 126).build()); | |
| 2074 message.setField(f("optional_lazy_message"), | |
| 2075 newBuilderForField(message, f("optional_lazy_message")) | |
| 2076 .setField(nestedB, 127).build()); | |
| 2077 | |
| 2078 message.setField(f("optional_nested_enum" ), nestedBaz); | |
| 2079 message.setField(f("optional_foreign_enum"), foreignBaz); | |
| 2080 message.setField(f("optional_import_enum" ), importBaz); | |
| 2081 | |
| 2082 message.setField(f("optional_string_piece" ), "124"); | |
| 2083 message.setField(f("optional_cord" ), "125"); | |
| 2084 | |
| 2085 // ----------------------------------------------------------------- | |
| 2086 | |
| 2087 message.addRepeatedField(f("repeated_int32" ), 201 ); | |
| 2088 message.addRepeatedField(f("repeated_int64" ), 202L); | |
| 2089 message.addRepeatedField(f("repeated_uint32" ), 203 ); | |
| 2090 message.addRepeatedField(f("repeated_uint64" ), 204L); | |
| 2091 message.addRepeatedField(f("repeated_sint32" ), 205 ); | |
| 2092 message.addRepeatedField(f("repeated_sint64" ), 206L); | |
| 2093 message.addRepeatedField(f("repeated_fixed32" ), 207 ); | |
| 2094 message.addRepeatedField(f("repeated_fixed64" ), 208L); | |
| 2095 message.addRepeatedField(f("repeated_sfixed32"), 209 ); | |
| 2096 message.addRepeatedField(f("repeated_sfixed64"), 210L); | |
| 2097 message.addRepeatedField(f("repeated_float" ), 211F); | |
| 2098 message.addRepeatedField(f("repeated_double" ), 212D); | |
| 2099 message.addRepeatedField(f("repeated_bool" ), true); | |
| 2100 message.addRepeatedField(f("repeated_string" ), "215"); | |
| 2101 message.addRepeatedField(f("repeated_bytes" ), toBytes("216")); | |
| 2102 | |
| 2103 message.addRepeatedField(f("repeatedgroup"), | |
| 2104 newBuilderForField(message, f("repeatedgroup")) | |
| 2105 .setField(repeatedGroupA, 217).build()); | |
| 2106 message.addRepeatedField(f("repeated_nested_message"), | |
| 2107 newBuilderForField(message, f("repeated_nested_message")) | |
| 2108 .setField(nestedB, 218).build()); | |
| 2109 message.addRepeatedField(f("repeated_foreign_message"), | |
| 2110 newBuilderForField(message, f("repeated_foreign_message")) | |
| 2111 .setField(foreignC, 219).build()); | |
| 2112 message.addRepeatedField(f("repeated_import_message"), | |
| 2113 newBuilderForField(message, f("repeated_import_message")) | |
| 2114 .setField(importD, 220).build()); | |
| 2115 message.addRepeatedField(f("repeated_lazy_message"), | |
| 2116 newBuilderForField(message, f("repeated_lazy_message")) | |
| 2117 .setField(nestedB, 227).build()); | |
| 2118 | |
| 2119 message.addRepeatedField(f("repeated_nested_enum" ), nestedBar); | |
| 2120 message.addRepeatedField(f("repeated_foreign_enum"), foreignBar); | |
| 2121 message.addRepeatedField(f("repeated_import_enum" ), importBar); | |
| 2122 | |
| 2123 message.addRepeatedField(f("repeated_string_piece" ), "224"); | |
| 2124 message.addRepeatedField(f("repeated_cord" ), "225"); | |
| 2125 | |
| 2126 // Add a second one of each field. | |
| 2127 message.addRepeatedField(f("repeated_int32" ), 301 ); | |
| 2128 message.addRepeatedField(f("repeated_int64" ), 302L); | |
| 2129 message.addRepeatedField(f("repeated_uint32" ), 303 ); | |
| 2130 message.addRepeatedField(f("repeated_uint64" ), 304L); | |
| 2131 message.addRepeatedField(f("repeated_sint32" ), 305 ); | |
| 2132 message.addRepeatedField(f("repeated_sint64" ), 306L); | |
| 2133 message.addRepeatedField(f("repeated_fixed32" ), 307 ); | |
| 2134 message.addRepeatedField(f("repeated_fixed64" ), 308L); | |
| 2135 message.addRepeatedField(f("repeated_sfixed32"), 309 ); | |
| 2136 message.addRepeatedField(f("repeated_sfixed64"), 310L); | |
| 2137 message.addRepeatedField(f("repeated_float" ), 311F); | |
| 2138 message.addRepeatedField(f("repeated_double" ), 312D); | |
| 2139 message.addRepeatedField(f("repeated_bool" ), false); | |
| 2140 message.addRepeatedField(f("repeated_string" ), "315"); | |
| 2141 message.addRepeatedField(f("repeated_bytes" ), toBytes("316")); | |
| 2142 | |
| 2143 message.addRepeatedField(f("repeatedgroup"), | |
| 2144 newBuilderForField(message, f("repeatedgroup")) | |
| 2145 .setField(repeatedGroupA, 317).build()); | |
| 2146 message.addRepeatedField(f("repeated_nested_message"), | |
| 2147 newBuilderForField(message, f("repeated_nested_message")) | |
| 2148 .setField(nestedB, 318).build()); | |
| 2149 message.addRepeatedField(f("repeated_foreign_message"), | |
| 2150 newBuilderForField(message, f("repeated_foreign_message")) | |
| 2151 .setField(foreignC, 319).build()); | |
| 2152 message.addRepeatedField(f("repeated_import_message"), | |
| 2153 newBuilderForField(message, f("repeated_import_message")) | |
| 2154 .setField(importD, 320).build()); | |
| 2155 message.addRepeatedField(f("repeated_lazy_message"), | |
| 2156 newBuilderForField(message, f("repeated_lazy_message")) | |
| 2157 .setField(nestedB, 327).build()); | |
| 2158 | |
| 2159 message.addRepeatedField(f("repeated_nested_enum" ), nestedBaz); | |
| 2160 message.addRepeatedField(f("repeated_foreign_enum"), foreignBaz); | |
| 2161 message.addRepeatedField(f("repeated_import_enum" ), importBaz); | |
| 2162 | |
| 2163 message.addRepeatedField(f("repeated_string_piece" ), "324"); | |
| 2164 message.addRepeatedField(f("repeated_cord" ), "325"); | |
| 2165 | |
| 2166 // ----------------------------------------------------------------- | |
| 2167 | |
| 2168 message.setField(f("default_int32" ), 401 ); | |
| 2169 message.setField(f("default_int64" ), 402L); | |
| 2170 message.setField(f("default_uint32" ), 403 ); | |
| 2171 message.setField(f("default_uint64" ), 404L); | |
| 2172 message.setField(f("default_sint32" ), 405 ); | |
| 2173 message.setField(f("default_sint64" ), 406L); | |
| 2174 message.setField(f("default_fixed32" ), 407 ); | |
| 2175 message.setField(f("default_fixed64" ), 408L); | |
| 2176 message.setField(f("default_sfixed32"), 409 ); | |
| 2177 message.setField(f("default_sfixed64"), 410L); | |
| 2178 message.setField(f("default_float" ), 411F); | |
| 2179 message.setField(f("default_double" ), 412D); | |
| 2180 message.setField(f("default_bool" ), false); | |
| 2181 message.setField(f("default_string" ), "415"); | |
| 2182 message.setField(f("default_bytes" ), toBytes("416")); | |
| 2183 | |
| 2184 message.setField(f("default_nested_enum" ), nestedFoo); | |
| 2185 message.setField(f("default_foreign_enum"), foreignFoo); | |
| 2186 message.setField(f("default_import_enum" ), importFoo); | |
| 2187 | |
| 2188 message.setField(f("default_string_piece" ), "424"); | |
| 2189 message.setField(f("default_cord" ), "425"); | |
| 2190 } | |
| 2191 | |
| 2192 // ------------------------------------------------------------------- | |
| 2193 | |
| 2194 /** | |
| 2195 * Modify the repeated fields of {@code message} to contain the values | |
| 2196 * expected by {@code assertRepeatedFieldsModified()}, using the | |
| 2197 * {@link Message.Builder} reflection interface. | |
| 2198 */ | |
| 2199 void modifyRepeatedFieldsViaReflection(Message.Builder message) { | |
| 2200 message.setRepeatedField(f("repeated_int32" ), 1, 501 ); | |
| 2201 message.setRepeatedField(f("repeated_int64" ), 1, 502L); | |
| 2202 message.setRepeatedField(f("repeated_uint32" ), 1, 503 ); | |
| 2203 message.setRepeatedField(f("repeated_uint64" ), 1, 504L); | |
| 2204 message.setRepeatedField(f("repeated_sint32" ), 1, 505 ); | |
| 2205 message.setRepeatedField(f("repeated_sint64" ), 1, 506L); | |
| 2206 message.setRepeatedField(f("repeated_fixed32" ), 1, 507 ); | |
| 2207 message.setRepeatedField(f("repeated_fixed64" ), 1, 508L); | |
| 2208 message.setRepeatedField(f("repeated_sfixed32"), 1, 509 ); | |
| 2209 message.setRepeatedField(f("repeated_sfixed64"), 1, 510L); | |
| 2210 message.setRepeatedField(f("repeated_float" ), 1, 511F); | |
| 2211 message.setRepeatedField(f("repeated_double" ), 1, 512D); | |
| 2212 message.setRepeatedField(f("repeated_bool" ), 1, true); | |
| 2213 message.setRepeatedField(f("repeated_string" ), 1, "515"); | |
| 2214 message.setRepeatedField(f("repeated_bytes" ), 1, toBytes("516")); | |
| 2215 | |
| 2216 message.setRepeatedField(f("repeatedgroup"), 1, | |
| 2217 newBuilderForField(message, f("repeatedgroup")) | |
| 2218 .setField(repeatedGroupA, 517).build()); | |
| 2219 message.setRepeatedField(f("repeated_nested_message"), 1, | |
| 2220 newBuilderForField(message, f("repeated_nested_message")) | |
| 2221 .setField(nestedB, 518).build()); | |
| 2222 message.setRepeatedField(f("repeated_foreign_message"), 1, | |
| 2223 newBuilderForField(message, f("repeated_foreign_message")) | |
| 2224 .setField(foreignC, 519).build()); | |
| 2225 message.setRepeatedField(f("repeated_import_message"), 1, | |
| 2226 newBuilderForField(message, f("repeated_import_message")) | |
| 2227 .setField(importD, 520).build()); | |
| 2228 message.setRepeatedField(f("repeated_lazy_message"), 1, | |
| 2229 newBuilderForField(message, f("repeated_lazy_message")) | |
| 2230 .setField(nestedB, 527).build()); | |
| 2231 | |
| 2232 message.setRepeatedField(f("repeated_nested_enum" ), 1, nestedFoo); | |
| 2233 message.setRepeatedField(f("repeated_foreign_enum"), 1, foreignFoo); | |
| 2234 message.setRepeatedField(f("repeated_import_enum" ), 1, importFoo); | |
| 2235 | |
| 2236 message.setRepeatedField(f("repeated_string_piece"), 1, "524"); | |
| 2237 message.setRepeatedField(f("repeated_cord"), 1, "525"); | |
| 2238 } | |
| 2239 | |
| 2240 // ------------------------------------------------------------------- | |
| 2241 | |
| 2242 /** | |
| 2243 * Assert (using {@code junit.framework.Assert}} that all fields of | |
| 2244 * {@code message} are set to the values assigned by {@code setAllFields}, | |
| 2245 * using the {@link Message} reflection interface. | |
| 2246 */ | |
| 2247 public void assertAllFieldsSetViaReflection(MessageOrBuilder message) { | |
| 2248 Assert.assertTrue(message.hasField(f("optional_int32" ))); | |
| 2249 Assert.assertTrue(message.hasField(f("optional_int64" ))); | |
| 2250 Assert.assertTrue(message.hasField(f("optional_uint32" ))); | |
| 2251 Assert.assertTrue(message.hasField(f("optional_uint64" ))); | |
| 2252 Assert.assertTrue(message.hasField(f("optional_sint32" ))); | |
| 2253 Assert.assertTrue(message.hasField(f("optional_sint64" ))); | |
| 2254 Assert.assertTrue(message.hasField(f("optional_fixed32" ))); | |
| 2255 Assert.assertTrue(message.hasField(f("optional_fixed64" ))); | |
| 2256 Assert.assertTrue(message.hasField(f("optional_sfixed32"))); | |
| 2257 Assert.assertTrue(message.hasField(f("optional_sfixed64"))); | |
| 2258 Assert.assertTrue(message.hasField(f("optional_float" ))); | |
| 2259 Assert.assertTrue(message.hasField(f("optional_double" ))); | |
| 2260 Assert.assertTrue(message.hasField(f("optional_bool" ))); | |
| 2261 Assert.assertTrue(message.hasField(f("optional_string" ))); | |
| 2262 Assert.assertTrue(message.hasField(f("optional_bytes" ))); | |
| 2263 | |
| 2264 Assert.assertTrue(message.hasField(f("optionalgroup" ))); | |
| 2265 Assert.assertTrue(message.hasField(f("optional_nested_message" ))); | |
| 2266 Assert.assertTrue(message.hasField(f("optional_foreign_message"))); | |
| 2267 Assert.assertTrue(message.hasField(f("optional_import_message" ))); | |
| 2268 | |
| 2269 Assert.assertTrue( | |
| 2270 ((Message)message.getField(f("optionalgroup"))).hasField(groupA)); | |
| 2271 Assert.assertTrue( | |
| 2272 ((Message)message.getField(f("optional_nested_message"))) | |
| 2273 .hasField(nestedB)); | |
| 2274 Assert.assertTrue( | |
| 2275 ((Message)message.getField(f("optional_foreign_message"))) | |
| 2276 .hasField(foreignC)); | |
| 2277 Assert.assertTrue( | |
| 2278 ((Message)message.getField(f("optional_import_message"))) | |
| 2279 .hasField(importD)); | |
| 2280 | |
| 2281 Assert.assertTrue(message.hasField(f("optional_nested_enum" ))); | |
| 2282 Assert.assertTrue(message.hasField(f("optional_foreign_enum"))); | |
| 2283 Assert.assertTrue(message.hasField(f("optional_import_enum" ))); | |
| 2284 | |
| 2285 Assert.assertTrue(message.hasField(f("optional_string_piece"))); | |
| 2286 Assert.assertTrue(message.hasField(f("optional_cord"))); | |
| 2287 | |
| 2288 Assert.assertEquals(101 , message.getField(f("optional_int32" ))); | |
| 2289 Assert.assertEquals(102L , message.getField(f("optional_int64" ))); | |
| 2290 Assert.assertEquals(103 , message.getField(f("optional_uint32" ))); | |
| 2291 Assert.assertEquals(104L , message.getField(f("optional_uint64" ))); | |
| 2292 Assert.assertEquals(105 , message.getField(f("optional_sint32" ))); | |
| 2293 Assert.assertEquals(106L , message.getField(f("optional_sint64" ))); | |
| 2294 Assert.assertEquals(107 , message.getField(f("optional_fixed32" ))); | |
| 2295 Assert.assertEquals(108L , message.getField(f("optional_fixed64" ))); | |
| 2296 Assert.assertEquals(109 , message.getField(f("optional_sfixed32"))); | |
| 2297 Assert.assertEquals(110L , message.getField(f("optional_sfixed64"))); | |
| 2298 Assert.assertEquals(111F , message.getField(f("optional_float" ))); | |
| 2299 Assert.assertEquals(112D , message.getField(f("optional_double" ))); | |
| 2300 Assert.assertEquals(true , message.getField(f("optional_bool" ))); | |
| 2301 Assert.assertEquals("115", message.getField(f("optional_string" ))); | |
| 2302 Assert.assertEquals(toBytes("116"), message.getField(f("optional_bytes")))
; | |
| 2303 | |
| 2304 Assert.assertEquals(117, | |
| 2305 ((Message)message.getField(f("optionalgroup"))).getField(groupA)); | |
| 2306 Assert.assertEquals(118, | |
| 2307 ((Message)message.getField(f("optional_nested_message"))) | |
| 2308 .getField(nestedB)); | |
| 2309 Assert.assertEquals(119, | |
| 2310 ((Message)message.getField(f("optional_foreign_message"))) | |
| 2311 .getField(foreignC)); | |
| 2312 Assert.assertEquals(120, | |
| 2313 ((Message)message.getField(f("optional_import_message"))) | |
| 2314 .getField(importD)); | |
| 2315 Assert.assertEquals(126, | |
| 2316 ((Message)message.getField(f("optional_public_import_message"))) | |
| 2317 .getField(importE)); | |
| 2318 Assert.assertEquals(127, | |
| 2319 ((Message)message.getField(f("optional_lazy_message"))) | |
| 2320 .getField(nestedB)); | |
| 2321 | |
| 2322 Assert.assertEquals( nestedBaz, message.getField(f("optional_nested_enum"
))); | |
| 2323 Assert.assertEquals(foreignBaz, message.getField(f("optional_foreign_enum"
))); | |
| 2324 Assert.assertEquals( importBaz, message.getField(f("optional_import_enum"
))); | |
| 2325 | |
| 2326 Assert.assertEquals("124", message.getField(f("optional_string_piece"))); | |
| 2327 Assert.assertEquals("125", message.getField(f("optional_cord"))); | |
| 2328 | |
| 2329 // ----------------------------------------------------------------- | |
| 2330 | |
| 2331 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_int32"
))); | |
| 2332 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_int64"
))); | |
| 2333 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_uint32"
))); | |
| 2334 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_uint64"
))); | |
| 2335 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_sint32"
))); | |
| 2336 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_sint64"
))); | |
| 2337 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_fixed32"
))); | |
| 2338 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_fixed64"
))); | |
| 2339 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_sfixed32"
))); | |
| 2340 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_sfixed64"
))); | |
| 2341 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_float"
))); | |
| 2342 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_double"
))); | |
| 2343 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_bool"
))); | |
| 2344 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_string"
))); | |
| 2345 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_bytes"
))); | |
| 2346 | |
| 2347 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeatedgroup"
))); | |
| 2348 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_nested_me
ssage" ))); | |
| 2349 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_foreign_m
essage"))); | |
| 2350 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_import_me
ssage" ))); | |
| 2351 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_lazy_mess
age" ))); | |
| 2352 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_nested_en
um" ))); | |
| 2353 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_foreign_e
num" ))); | |
| 2354 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_import_en
um" ))); | |
| 2355 | |
| 2356 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_string_pi
ece"))); | |
| 2357 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_cord"))); | |
| 2358 | |
| 2359 Assert.assertEquals(201 , message.getRepeatedField(f("repeated_int32" )
, 0)); | |
| 2360 Assert.assertEquals(202L , message.getRepeatedField(f("repeated_int64" )
, 0)); | |
| 2361 Assert.assertEquals(203 , message.getRepeatedField(f("repeated_uint32" )
, 0)); | |
| 2362 Assert.assertEquals(204L , message.getRepeatedField(f("repeated_uint64" )
, 0)); | |
| 2363 Assert.assertEquals(205 , message.getRepeatedField(f("repeated_sint32" )
, 0)); | |
| 2364 Assert.assertEquals(206L , message.getRepeatedField(f("repeated_sint64" )
, 0)); | |
| 2365 Assert.assertEquals(207 , message.getRepeatedField(f("repeated_fixed32" )
, 0)); | |
| 2366 Assert.assertEquals(208L , message.getRepeatedField(f("repeated_fixed64" )
, 0)); | |
| 2367 Assert.assertEquals(209 , message.getRepeatedField(f("repeated_sfixed32")
, 0)); | |
| 2368 Assert.assertEquals(210L , message.getRepeatedField(f("repeated_sfixed64")
, 0)); | |
| 2369 Assert.assertEquals(211F , message.getRepeatedField(f("repeated_float" )
, 0)); | |
| 2370 Assert.assertEquals(212D , message.getRepeatedField(f("repeated_double" )
, 0)); | |
| 2371 Assert.assertEquals(true , message.getRepeatedField(f("repeated_bool" )
, 0)); | |
| 2372 Assert.assertEquals("215", message.getRepeatedField(f("repeated_string" )
, 0)); | |
| 2373 Assert.assertEquals(toBytes("216"), message.getRepeatedField(f("repeated_b
ytes"), 0)); | |
| 2374 | |
| 2375 Assert.assertEquals(217, | |
| 2376 ((Message)message.getRepeatedField(f("repeatedgroup"), 0)) | |
| 2377 .getField(repeatedGroupA)); | |
| 2378 Assert.assertEquals(218, | |
| 2379 ((Message)message.getRepeatedField(f("repeated_nested_message"), 0)) | |
| 2380 .getField(nestedB)); | |
| 2381 Assert.assertEquals(219, | |
| 2382 ((Message)message.getRepeatedField(f("repeated_foreign_message"), 0)) | |
| 2383 .getField(foreignC)); | |
| 2384 Assert.assertEquals(220, | |
| 2385 ((Message)message.getRepeatedField(f("repeated_import_message"), 0)) | |
| 2386 .getField(importD)); | |
| 2387 Assert.assertEquals(227, | |
| 2388 ((Message)message.getRepeatedField(f("repeated_lazy_message"), 0)) | |
| 2389 .getField(nestedB)); | |
| 2390 | |
| 2391 Assert.assertEquals( nestedBar, message.getRepeatedField(f("repeated_neste
d_enum" ),0)); | |
| 2392 Assert.assertEquals(foreignBar, message.getRepeatedField(f("repeated_forei
gn_enum"),0)); | |
| 2393 Assert.assertEquals( importBar, message.getRepeatedField(f("repeated_impor
t_enum" ),0)); | |
| 2394 | |
| 2395 Assert.assertEquals("224", message.getRepeatedField(f("repeated_string_pie
ce"), 0)); | |
| 2396 Assert.assertEquals("225", message.getRepeatedField(f("repeated_cord"), 0)
); | |
| 2397 | |
| 2398 Assert.assertEquals(301 , message.getRepeatedField(f("repeated_int32" )
, 1)); | |
| 2399 Assert.assertEquals(302L , message.getRepeatedField(f("repeated_int64" )
, 1)); | |
| 2400 Assert.assertEquals(303 , message.getRepeatedField(f("repeated_uint32" )
, 1)); | |
| 2401 Assert.assertEquals(304L , message.getRepeatedField(f("repeated_uint64" )
, 1)); | |
| 2402 Assert.assertEquals(305 , message.getRepeatedField(f("repeated_sint32" )
, 1)); | |
| 2403 Assert.assertEquals(306L , message.getRepeatedField(f("repeated_sint64" )
, 1)); | |
| 2404 Assert.assertEquals(307 , message.getRepeatedField(f("repeated_fixed32" )
, 1)); | |
| 2405 Assert.assertEquals(308L , message.getRepeatedField(f("repeated_fixed64" )
, 1)); | |
| 2406 Assert.assertEquals(309 , message.getRepeatedField(f("repeated_sfixed32")
, 1)); | |
| 2407 Assert.assertEquals(310L , message.getRepeatedField(f("repeated_sfixed64")
, 1)); | |
| 2408 Assert.assertEquals(311F , message.getRepeatedField(f("repeated_float" )
, 1)); | |
| 2409 Assert.assertEquals(312D , message.getRepeatedField(f("repeated_double" )
, 1)); | |
| 2410 Assert.assertEquals(false, message.getRepeatedField(f("repeated_bool" )
, 1)); | |
| 2411 Assert.assertEquals("315", message.getRepeatedField(f("repeated_string" )
, 1)); | |
| 2412 Assert.assertEquals(toBytes("316"), message.getRepeatedField(f("repeated_b
ytes"), 1)); | |
| 2413 | |
| 2414 Assert.assertEquals(317, | |
| 2415 ((Message)message.getRepeatedField(f("repeatedgroup"), 1)) | |
| 2416 .getField(repeatedGroupA)); | |
| 2417 Assert.assertEquals(318, | |
| 2418 ((Message)message.getRepeatedField(f("repeated_nested_message"), 1)) | |
| 2419 .getField(nestedB)); | |
| 2420 Assert.assertEquals(319, | |
| 2421 ((Message)message.getRepeatedField(f("repeated_foreign_message"), 1)) | |
| 2422 .getField(foreignC)); | |
| 2423 Assert.assertEquals(320, | |
| 2424 ((Message)message.getRepeatedField(f("repeated_import_message"), 1)) | |
| 2425 .getField(importD)); | |
| 2426 Assert.assertEquals(327, | |
| 2427 ((Message)message.getRepeatedField(f("repeated_lazy_message"), 1)) | |
| 2428 .getField(nestedB)); | |
| 2429 | |
| 2430 Assert.assertEquals( nestedBaz, message.getRepeatedField(f("repeated_neste
d_enum" ),1)); | |
| 2431 Assert.assertEquals(foreignBaz, message.getRepeatedField(f("repeated_forei
gn_enum"),1)); | |
| 2432 Assert.assertEquals( importBaz, message.getRepeatedField(f("repeated_impor
t_enum" ),1)); | |
| 2433 | |
| 2434 Assert.assertEquals("324", message.getRepeatedField(f("repeated_string_pie
ce"), 1)); | |
| 2435 Assert.assertEquals("325", message.getRepeatedField(f("repeated_cord"), 1)
); | |
| 2436 | |
| 2437 // ----------------------------------------------------------------- | |
| 2438 | |
| 2439 Assert.assertTrue(message.hasField(f("default_int32" ))); | |
| 2440 Assert.assertTrue(message.hasField(f("default_int64" ))); | |
| 2441 Assert.assertTrue(message.hasField(f("default_uint32" ))); | |
| 2442 Assert.assertTrue(message.hasField(f("default_uint64" ))); | |
| 2443 Assert.assertTrue(message.hasField(f("default_sint32" ))); | |
| 2444 Assert.assertTrue(message.hasField(f("default_sint64" ))); | |
| 2445 Assert.assertTrue(message.hasField(f("default_fixed32" ))); | |
| 2446 Assert.assertTrue(message.hasField(f("default_fixed64" ))); | |
| 2447 Assert.assertTrue(message.hasField(f("default_sfixed32"))); | |
| 2448 Assert.assertTrue(message.hasField(f("default_sfixed64"))); | |
| 2449 Assert.assertTrue(message.hasField(f("default_float" ))); | |
| 2450 Assert.assertTrue(message.hasField(f("default_double" ))); | |
| 2451 Assert.assertTrue(message.hasField(f("default_bool" ))); | |
| 2452 Assert.assertTrue(message.hasField(f("default_string" ))); | |
| 2453 Assert.assertTrue(message.hasField(f("default_bytes" ))); | |
| 2454 | |
| 2455 Assert.assertTrue(message.hasField(f("default_nested_enum" ))); | |
| 2456 Assert.assertTrue(message.hasField(f("default_foreign_enum"))); | |
| 2457 Assert.assertTrue(message.hasField(f("default_import_enum" ))); | |
| 2458 | |
| 2459 Assert.assertTrue(message.hasField(f("default_string_piece"))); | |
| 2460 Assert.assertTrue(message.hasField(f("default_cord"))); | |
| 2461 | |
| 2462 Assert.assertEquals(401 , message.getField(f("default_int32" ))); | |
| 2463 Assert.assertEquals(402L , message.getField(f("default_int64" ))); | |
| 2464 Assert.assertEquals(403 , message.getField(f("default_uint32" ))); | |
| 2465 Assert.assertEquals(404L , message.getField(f("default_uint64" ))); | |
| 2466 Assert.assertEquals(405 , message.getField(f("default_sint32" ))); | |
| 2467 Assert.assertEquals(406L , message.getField(f("default_sint64" ))); | |
| 2468 Assert.assertEquals(407 , message.getField(f("default_fixed32" ))); | |
| 2469 Assert.assertEquals(408L , message.getField(f("default_fixed64" ))); | |
| 2470 Assert.assertEquals(409 , message.getField(f("default_sfixed32"))); | |
| 2471 Assert.assertEquals(410L , message.getField(f("default_sfixed64"))); | |
| 2472 Assert.assertEquals(411F , message.getField(f("default_float" ))); | |
| 2473 Assert.assertEquals(412D , message.getField(f("default_double" ))); | |
| 2474 Assert.assertEquals(false, message.getField(f("default_bool" ))); | |
| 2475 Assert.assertEquals("415", message.getField(f("default_string" ))); | |
| 2476 Assert.assertEquals(toBytes("416"), message.getField(f("default_bytes"))); | |
| 2477 | |
| 2478 Assert.assertEquals( nestedFoo, message.getField(f("default_nested_enum" )
)); | |
| 2479 Assert.assertEquals(foreignFoo, message.getField(f("default_foreign_enum")
)); | |
| 2480 Assert.assertEquals( importFoo, message.getField(f("default_import_enum" )
)); | |
| 2481 | |
| 2482 Assert.assertEquals("424", message.getField(f("default_string_piece"))); | |
| 2483 Assert.assertEquals("425", message.getField(f("default_cord"))); | |
| 2484 } | |
| 2485 | |
| 2486 // ------------------------------------------------------------------- | |
| 2487 | |
| 2488 /** | |
| 2489 * Assert (using {@code junit.framework.Assert}} that all fields of | |
| 2490 * {@code message} are cleared, and that getting the fields returns their | |
| 2491 * default values, using the {@link Message} reflection interface. | |
| 2492 */ | |
| 2493 public void assertClearViaReflection(MessageOrBuilder message) { | |
| 2494 // has_blah() should initially be false for all optional fields. | |
| 2495 Assert.assertFalse(message.hasField(f("optional_int32" ))); | |
| 2496 Assert.assertFalse(message.hasField(f("optional_int64" ))); | |
| 2497 Assert.assertFalse(message.hasField(f("optional_uint32" ))); | |
| 2498 Assert.assertFalse(message.hasField(f("optional_uint64" ))); | |
| 2499 Assert.assertFalse(message.hasField(f("optional_sint32" ))); | |
| 2500 Assert.assertFalse(message.hasField(f("optional_sint64" ))); | |
| 2501 Assert.assertFalse(message.hasField(f("optional_fixed32" ))); | |
| 2502 Assert.assertFalse(message.hasField(f("optional_fixed64" ))); | |
| 2503 Assert.assertFalse(message.hasField(f("optional_sfixed32"))); | |
| 2504 Assert.assertFalse(message.hasField(f("optional_sfixed64"))); | |
| 2505 Assert.assertFalse(message.hasField(f("optional_float" ))); | |
| 2506 Assert.assertFalse(message.hasField(f("optional_double" ))); | |
| 2507 Assert.assertFalse(message.hasField(f("optional_bool" ))); | |
| 2508 Assert.assertFalse(message.hasField(f("optional_string" ))); | |
| 2509 Assert.assertFalse(message.hasField(f("optional_bytes" ))); | |
| 2510 | |
| 2511 Assert.assertFalse(message.hasField(f("optionalgroup" ))); | |
| 2512 Assert.assertFalse(message.hasField(f("optional_nested_message" ))); | |
| 2513 Assert.assertFalse(message.hasField(f("optional_foreign_message"))); | |
| 2514 Assert.assertFalse(message.hasField(f("optional_import_message" ))); | |
| 2515 | |
| 2516 Assert.assertFalse(message.hasField(f("optional_nested_enum" ))); | |
| 2517 Assert.assertFalse(message.hasField(f("optional_foreign_enum"))); | |
| 2518 Assert.assertFalse(message.hasField(f("optional_import_enum" ))); | |
| 2519 | |
| 2520 Assert.assertFalse(message.hasField(f("optional_string_piece"))); | |
| 2521 Assert.assertFalse(message.hasField(f("optional_cord"))); | |
| 2522 | |
| 2523 // Optional fields without defaults are set to zero or something like it. | |
| 2524 Assert.assertEquals(0 , message.getField(f("optional_int32" ))); | |
| 2525 Assert.assertEquals(0L , message.getField(f("optional_int64" ))); | |
| 2526 Assert.assertEquals(0 , message.getField(f("optional_uint32" ))); | |
| 2527 Assert.assertEquals(0L , message.getField(f("optional_uint64" ))); | |
| 2528 Assert.assertEquals(0 , message.getField(f("optional_sint32" ))); | |
| 2529 Assert.assertEquals(0L , message.getField(f("optional_sint64" ))); | |
| 2530 Assert.assertEquals(0 , message.getField(f("optional_fixed32" ))); | |
| 2531 Assert.assertEquals(0L , message.getField(f("optional_fixed64" ))); | |
| 2532 Assert.assertEquals(0 , message.getField(f("optional_sfixed32"))); | |
| 2533 Assert.assertEquals(0L , message.getField(f("optional_sfixed64"))); | |
| 2534 Assert.assertEquals(0F , message.getField(f("optional_float" ))); | |
| 2535 Assert.assertEquals(0D , message.getField(f("optional_double" ))); | |
| 2536 Assert.assertEquals(false, message.getField(f("optional_bool" ))); | |
| 2537 Assert.assertEquals("" , message.getField(f("optional_string" ))); | |
| 2538 Assert.assertEquals(ByteString.EMPTY, message.getField(f("optional_bytes")
)); | |
| 2539 | |
| 2540 // Embedded messages should also be clear. | |
| 2541 Assert.assertFalse( | |
| 2542 ((Message)message.getField(f("optionalgroup"))).hasField(groupA)); | |
| 2543 Assert.assertFalse( | |
| 2544 ((Message)message.getField(f("optional_nested_message"))) | |
| 2545 .hasField(nestedB)); | |
| 2546 Assert.assertFalse( | |
| 2547 ((Message)message.getField(f("optional_foreign_message"))) | |
| 2548 .hasField(foreignC)); | |
| 2549 Assert.assertFalse( | |
| 2550 ((Message)message.getField(f("optional_import_message"))) | |
| 2551 .hasField(importD)); | |
| 2552 Assert.assertFalse( | |
| 2553 ((Message)message.getField(f("optional_public_import_message"))) | |
| 2554 .hasField(importE)); | |
| 2555 Assert.assertFalse( | |
| 2556 ((Message)message.getField(f("optional_lazy_message"))) | |
| 2557 .hasField(nestedB)); | |
| 2558 | |
| 2559 Assert.assertEquals(0, | |
| 2560 ((Message)message.getField(f("optionalgroup"))).getField(groupA)); | |
| 2561 Assert.assertEquals(0, | |
| 2562 ((Message)message.getField(f("optional_nested_message"))) | |
| 2563 .getField(nestedB)); | |
| 2564 Assert.assertEquals(0, | |
| 2565 ((Message)message.getField(f("optional_foreign_message"))) | |
| 2566 .getField(foreignC)); | |
| 2567 Assert.assertEquals(0, | |
| 2568 ((Message)message.getField(f("optional_import_message"))) | |
| 2569 .getField(importD)); | |
| 2570 Assert.assertEquals(0, | |
| 2571 ((Message)message.getField(f("optional_public_import_message"))) | |
| 2572 .getField(importE)); | |
| 2573 Assert.assertEquals(0, | |
| 2574 ((Message)message.getField(f("optional_lazy_message"))) | |
| 2575 .getField(nestedB)); | |
| 2576 | |
| 2577 // Enums without defaults are set to the first value in the enum. | |
| 2578 Assert.assertEquals( nestedFoo, message.getField(f("optional_nested_enum"
))); | |
| 2579 Assert.assertEquals(foreignFoo, message.getField(f("optional_foreign_enum"
))); | |
| 2580 Assert.assertEquals( importFoo, message.getField(f("optional_import_enum"
))); | |
| 2581 | |
| 2582 Assert.assertEquals("", message.getField(f("optional_string_piece"))); | |
| 2583 Assert.assertEquals("", message.getField(f("optional_cord"))); | |
| 2584 | |
| 2585 // Repeated fields are empty. | |
| 2586 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_int32"
))); | |
| 2587 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_int64"
))); | |
| 2588 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_uint32"
))); | |
| 2589 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_uint64"
))); | |
| 2590 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_sint32"
))); | |
| 2591 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_sint64"
))); | |
| 2592 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_fixed32"
))); | |
| 2593 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_fixed64"
))); | |
| 2594 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_sfixed32"
))); | |
| 2595 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_sfixed64"
))); | |
| 2596 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_float"
))); | |
| 2597 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_double"
))); | |
| 2598 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_bool"
))); | |
| 2599 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_string"
))); | |
| 2600 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_bytes"
))); | |
| 2601 | |
| 2602 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeatedgroup"
))); | |
| 2603 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_nested_me
ssage" ))); | |
| 2604 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_foreign_m
essage"))); | |
| 2605 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_import_me
ssage" ))); | |
| 2606 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_lazy_mess
age" ))); | |
| 2607 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_nested_en
um" ))); | |
| 2608 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_foreign_e
num" ))); | |
| 2609 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_import_en
um" ))); | |
| 2610 | |
| 2611 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_string_pi
ece"))); | |
| 2612 Assert.assertEquals(0, message.getRepeatedFieldCount(f("repeated_cord"))); | |
| 2613 | |
| 2614 // has_blah() should also be false for all default fields. | |
| 2615 Assert.assertFalse(message.hasField(f("default_int32" ))); | |
| 2616 Assert.assertFalse(message.hasField(f("default_int64" ))); | |
| 2617 Assert.assertFalse(message.hasField(f("default_uint32" ))); | |
| 2618 Assert.assertFalse(message.hasField(f("default_uint64" ))); | |
| 2619 Assert.assertFalse(message.hasField(f("default_sint32" ))); | |
| 2620 Assert.assertFalse(message.hasField(f("default_sint64" ))); | |
| 2621 Assert.assertFalse(message.hasField(f("default_fixed32" ))); | |
| 2622 Assert.assertFalse(message.hasField(f("default_fixed64" ))); | |
| 2623 Assert.assertFalse(message.hasField(f("default_sfixed32"))); | |
| 2624 Assert.assertFalse(message.hasField(f("default_sfixed64"))); | |
| 2625 Assert.assertFalse(message.hasField(f("default_float" ))); | |
| 2626 Assert.assertFalse(message.hasField(f("default_double" ))); | |
| 2627 Assert.assertFalse(message.hasField(f("default_bool" ))); | |
| 2628 Assert.assertFalse(message.hasField(f("default_string" ))); | |
| 2629 Assert.assertFalse(message.hasField(f("default_bytes" ))); | |
| 2630 | |
| 2631 Assert.assertFalse(message.hasField(f("default_nested_enum" ))); | |
| 2632 Assert.assertFalse(message.hasField(f("default_foreign_enum"))); | |
| 2633 Assert.assertFalse(message.hasField(f("default_import_enum" ))); | |
| 2634 | |
| 2635 Assert.assertFalse(message.hasField(f("default_string_piece" ))); | |
| 2636 Assert.assertFalse(message.hasField(f("default_cord" ))); | |
| 2637 | |
| 2638 // Fields with defaults have their default values (duh). | |
| 2639 Assert.assertEquals( 41 , message.getField(f("default_int32" ))); | |
| 2640 Assert.assertEquals( 42L , message.getField(f("default_int64" ))); | |
| 2641 Assert.assertEquals( 43 , message.getField(f("default_uint32" ))); | |
| 2642 Assert.assertEquals( 44L , message.getField(f("default_uint64" ))); | |
| 2643 Assert.assertEquals(-45 , message.getField(f("default_sint32" ))); | |
| 2644 Assert.assertEquals( 46L , message.getField(f("default_sint64" ))); | |
| 2645 Assert.assertEquals( 47 , message.getField(f("default_fixed32" ))); | |
| 2646 Assert.assertEquals( 48L , message.getField(f("default_fixed64" ))); | |
| 2647 Assert.assertEquals( 49 , message.getField(f("default_sfixed32"))); | |
| 2648 Assert.assertEquals(-50L , message.getField(f("default_sfixed64"))); | |
| 2649 Assert.assertEquals( 51.5F , message.getField(f("default_float" ))); | |
| 2650 Assert.assertEquals( 52e3D , message.getField(f("default_double" ))); | |
| 2651 Assert.assertEquals(true , message.getField(f("default_bool" ))); | |
| 2652 Assert.assertEquals("hello", message.getField(f("default_string" ))); | |
| 2653 Assert.assertEquals(toBytes("world"), message.getField(f("default_bytes"))
); | |
| 2654 | |
| 2655 Assert.assertEquals( nestedBar, message.getField(f("default_nested_enum" )
)); | |
| 2656 Assert.assertEquals(foreignBar, message.getField(f("default_foreign_enum")
)); | |
| 2657 Assert.assertEquals( importBar, message.getField(f("default_import_enum" )
)); | |
| 2658 | |
| 2659 Assert.assertEquals("abc", message.getField(f("default_string_piece"))); | |
| 2660 Assert.assertEquals("123", message.getField(f("default_cord"))); | |
| 2661 } | |
| 2662 | |
| 2663 | |
| 2664 // --------------------------------------------------------------- | |
| 2665 | |
| 2666 public void assertRepeatedFieldsModifiedViaReflection( | |
| 2667 MessageOrBuilder message) { | |
| 2668 // ModifyRepeatedFields only sets the second repeated element of each | |
| 2669 // field. In addition to verifying this, we also verify that the first | |
| 2670 // element and size were *not* modified. | |
| 2671 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_int32"
))); | |
| 2672 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_int64"
))); | |
| 2673 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_uint32"
))); | |
| 2674 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_uint64"
))); | |
| 2675 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_sint32"
))); | |
| 2676 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_sint64"
))); | |
| 2677 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_fixed32"
))); | |
| 2678 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_fixed64"
))); | |
| 2679 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_sfixed32"
))); | |
| 2680 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_sfixed64"
))); | |
| 2681 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_float"
))); | |
| 2682 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_double"
))); | |
| 2683 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_bool"
))); | |
| 2684 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_string"
))); | |
| 2685 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_bytes"
))); | |
| 2686 | |
| 2687 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeatedgroup"
))); | |
| 2688 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_nested_me
ssage" ))); | |
| 2689 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_foreign_m
essage"))); | |
| 2690 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_import_me
ssage" ))); | |
| 2691 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_lazy_mess
age" ))); | |
| 2692 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_nested_en
um" ))); | |
| 2693 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_foreign_e
num" ))); | |
| 2694 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_import_en
um" ))); | |
| 2695 | |
| 2696 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_string_pi
ece"))); | |
| 2697 Assert.assertEquals(2, message.getRepeatedFieldCount(f("repeated_cord"))); | |
| 2698 | |
| 2699 Assert.assertEquals(201 , message.getRepeatedField(f("repeated_int32" )
, 0)); | |
| 2700 Assert.assertEquals(202L , message.getRepeatedField(f("repeated_int64" )
, 0)); | |
| 2701 Assert.assertEquals(203 , message.getRepeatedField(f("repeated_uint32" )
, 0)); | |
| 2702 Assert.assertEquals(204L , message.getRepeatedField(f("repeated_uint64" )
, 0)); | |
| 2703 Assert.assertEquals(205 , message.getRepeatedField(f("repeated_sint32" )
, 0)); | |
| 2704 Assert.assertEquals(206L , message.getRepeatedField(f("repeated_sint64" )
, 0)); | |
| 2705 Assert.assertEquals(207 , message.getRepeatedField(f("repeated_fixed32" )
, 0)); | |
| 2706 Assert.assertEquals(208L , message.getRepeatedField(f("repeated_fixed64" )
, 0)); | |
| 2707 Assert.assertEquals(209 , message.getRepeatedField(f("repeated_sfixed32")
, 0)); | |
| 2708 Assert.assertEquals(210L , message.getRepeatedField(f("repeated_sfixed64")
, 0)); | |
| 2709 Assert.assertEquals(211F , message.getRepeatedField(f("repeated_float" )
, 0)); | |
| 2710 Assert.assertEquals(212D , message.getRepeatedField(f("repeated_double" )
, 0)); | |
| 2711 Assert.assertEquals(true , message.getRepeatedField(f("repeated_bool" )
, 0)); | |
| 2712 Assert.assertEquals("215", message.getRepeatedField(f("repeated_string" )
, 0)); | |
| 2713 Assert.assertEquals(toBytes("216"), message.getRepeatedField(f("repeated_b
ytes"), 0)); | |
| 2714 | |
| 2715 Assert.assertEquals(217, | |
| 2716 ((Message)message.getRepeatedField(f("repeatedgroup"), 0)) | |
| 2717 .getField(repeatedGroupA)); | |
| 2718 Assert.assertEquals(218, | |
| 2719 ((Message)message.getRepeatedField(f("repeated_nested_message"), 0)) | |
| 2720 .getField(nestedB)); | |
| 2721 Assert.assertEquals(219, | |
| 2722 ((Message)message.getRepeatedField(f("repeated_foreign_message"), 0)) | |
| 2723 .getField(foreignC)); | |
| 2724 Assert.assertEquals(220, | |
| 2725 ((Message)message.getRepeatedField(f("repeated_import_message"), 0)) | |
| 2726 .getField(importD)); | |
| 2727 Assert.assertEquals(227, | |
| 2728 ((Message)message.getRepeatedField(f("repeated_lazy_message"), 0)) | |
| 2729 .getField(nestedB)); | |
| 2730 | |
| 2731 Assert.assertEquals( nestedBar, message.getRepeatedField(f("repeated_neste
d_enum" ),0)); | |
| 2732 Assert.assertEquals(foreignBar, message.getRepeatedField(f("repeated_forei
gn_enum"),0)); | |
| 2733 Assert.assertEquals( importBar, message.getRepeatedField(f("repeated_impor
t_enum" ),0)); | |
| 2734 | |
| 2735 Assert.assertEquals("224", message.getRepeatedField(f("repeated_string_pie
ce"), 0)); | |
| 2736 Assert.assertEquals("225", message.getRepeatedField(f("repeated_cord"), 0)
); | |
| 2737 | |
| 2738 Assert.assertEquals(501 , message.getRepeatedField(f("repeated_int32" )
, 1)); | |
| 2739 Assert.assertEquals(502L , message.getRepeatedField(f("repeated_int64" )
, 1)); | |
| 2740 Assert.assertEquals(503 , message.getRepeatedField(f("repeated_uint32" )
, 1)); | |
| 2741 Assert.assertEquals(504L , message.getRepeatedField(f("repeated_uint64" )
, 1)); | |
| 2742 Assert.assertEquals(505 , message.getRepeatedField(f("repeated_sint32" )
, 1)); | |
| 2743 Assert.assertEquals(506L , message.getRepeatedField(f("repeated_sint64" )
, 1)); | |
| 2744 Assert.assertEquals(507 , message.getRepeatedField(f("repeated_fixed32" )
, 1)); | |
| 2745 Assert.assertEquals(508L , message.getRepeatedField(f("repeated_fixed64" )
, 1)); | |
| 2746 Assert.assertEquals(509 , message.getRepeatedField(f("repeated_sfixed32")
, 1)); | |
| 2747 Assert.assertEquals(510L , message.getRepeatedField(f("repeated_sfixed64")
, 1)); | |
| 2748 Assert.assertEquals(511F , message.getRepeatedField(f("repeated_float" )
, 1)); | |
| 2749 Assert.assertEquals(512D , message.getRepeatedField(f("repeated_double" )
, 1)); | |
| 2750 Assert.assertEquals(true , message.getRepeatedField(f("repeated_bool" )
, 1)); | |
| 2751 Assert.assertEquals("515", message.getRepeatedField(f("repeated_string" )
, 1)); | |
| 2752 Assert.assertEquals(toBytes("516"), message.getRepeatedField(f("repeated_b
ytes"), 1)); | |
| 2753 | |
| 2754 Assert.assertEquals(517, | |
| 2755 ((Message)message.getRepeatedField(f("repeatedgroup"), 1)) | |
| 2756 .getField(repeatedGroupA)); | |
| 2757 Assert.assertEquals(518, | |
| 2758 ((Message)message.getRepeatedField(f("repeated_nested_message"), 1)) | |
| 2759 .getField(nestedB)); | |
| 2760 Assert.assertEquals(519, | |
| 2761 ((Message)message.getRepeatedField(f("repeated_foreign_message"), 1)) | |
| 2762 .getField(foreignC)); | |
| 2763 Assert.assertEquals(520, | |
| 2764 ((Message)message.getRepeatedField(f("repeated_import_message"), 1)) | |
| 2765 .getField(importD)); | |
| 2766 Assert.assertEquals(527, | |
| 2767 ((Message)message.getRepeatedField(f("repeated_lazy_message"), 1)) | |
| 2768 .getField(nestedB)); | |
| 2769 | |
| 2770 Assert.assertEquals( nestedFoo, message.getRepeatedField(f("repeated_neste
d_enum" ),1)); | |
| 2771 Assert.assertEquals(foreignFoo, message.getRepeatedField(f("repeated_forei
gn_enum"),1)); | |
| 2772 Assert.assertEquals( importFoo, message.getRepeatedField(f("repeated_impor
t_enum" ),1)); | |
| 2773 | |
| 2774 Assert.assertEquals("524", message.getRepeatedField(f("repeated_string_pie
ce"), 1)); | |
| 2775 Assert.assertEquals("525", message.getRepeatedField(f("repeated_cord"), 1)
); | |
| 2776 } | |
| 2777 | |
| 2778 public void setPackedFieldsViaReflection(Message.Builder message) { | |
| 2779 message.addRepeatedField(f("packed_int32" ), 601 ); | |
| 2780 message.addRepeatedField(f("packed_int64" ), 602L); | |
| 2781 message.addRepeatedField(f("packed_uint32" ), 603 ); | |
| 2782 message.addRepeatedField(f("packed_uint64" ), 604L); | |
| 2783 message.addRepeatedField(f("packed_sint32" ), 605 ); | |
| 2784 message.addRepeatedField(f("packed_sint64" ), 606L); | |
| 2785 message.addRepeatedField(f("packed_fixed32" ), 607 ); | |
| 2786 message.addRepeatedField(f("packed_fixed64" ), 608L); | |
| 2787 message.addRepeatedField(f("packed_sfixed32"), 609 ); | |
| 2788 message.addRepeatedField(f("packed_sfixed64"), 610L); | |
| 2789 message.addRepeatedField(f("packed_float" ), 611F); | |
| 2790 message.addRepeatedField(f("packed_double" ), 612D); | |
| 2791 message.addRepeatedField(f("packed_bool" ), true); | |
| 2792 message.addRepeatedField(f("packed_enum" ), foreignBar); | |
| 2793 // Add a second one of each field. | |
| 2794 message.addRepeatedField(f("packed_int32" ), 701 ); | |
| 2795 message.addRepeatedField(f("packed_int64" ), 702L); | |
| 2796 message.addRepeatedField(f("packed_uint32" ), 703 ); | |
| 2797 message.addRepeatedField(f("packed_uint64" ), 704L); | |
| 2798 message.addRepeatedField(f("packed_sint32" ), 705 ); | |
| 2799 message.addRepeatedField(f("packed_sint64" ), 706L); | |
| 2800 message.addRepeatedField(f("packed_fixed32" ), 707 ); | |
| 2801 message.addRepeatedField(f("packed_fixed64" ), 708L); | |
| 2802 message.addRepeatedField(f("packed_sfixed32"), 709 ); | |
| 2803 message.addRepeatedField(f("packed_sfixed64"), 710L); | |
| 2804 message.addRepeatedField(f("packed_float" ), 711F); | |
| 2805 message.addRepeatedField(f("packed_double" ), 712D); | |
| 2806 message.addRepeatedField(f("packed_bool" ), false); | |
| 2807 message.addRepeatedField(f("packed_enum" ), foreignBaz); | |
| 2808 } | |
| 2809 | |
| 2810 public void assertPackedFieldsSetViaReflection(MessageOrBuilder message) { | |
| 2811 Assert.assertEquals(2, message.getRepeatedFieldCount(f("packed_int32" ))
); | |
| 2812 Assert.assertEquals(2, message.getRepeatedFieldCount(f("packed_int64" ))
); | |
| 2813 Assert.assertEquals(2, message.getRepeatedFieldCount(f("packed_uint32" ))
); | |
| 2814 Assert.assertEquals(2, message.getRepeatedFieldCount(f("packed_uint64" ))
); | |
| 2815 Assert.assertEquals(2, message.getRepeatedFieldCount(f("packed_sint32" ))
); | |
| 2816 Assert.assertEquals(2, message.getRepeatedFieldCount(f("packed_sint64" ))
); | |
| 2817 Assert.assertEquals(2, message.getRepeatedFieldCount(f("packed_fixed32" ))
); | |
| 2818 Assert.assertEquals(2, message.getRepeatedFieldCount(f("packed_fixed64" ))
); | |
| 2819 Assert.assertEquals(2, message.getRepeatedFieldCount(f("packed_sfixed32"))
); | |
| 2820 Assert.assertEquals(2, message.getRepeatedFieldCount(f("packed_sfixed64"))
); | |
| 2821 Assert.assertEquals(2, message.getRepeatedFieldCount(f("packed_float" ))
); | |
| 2822 Assert.assertEquals(2, message.getRepeatedFieldCount(f("packed_double" ))
); | |
| 2823 Assert.assertEquals(2, message.getRepeatedFieldCount(f("packed_bool" ))
); | |
| 2824 Assert.assertEquals(2, message.getRepeatedFieldCount(f("packed_enum" )))
; | |
| 2825 Assert.assertEquals(601 , message.getRepeatedField(f("packed_int32" ),
0)); | |
| 2826 Assert.assertEquals(602L , message.getRepeatedField(f("packed_int64" ),
0)); | |
| 2827 Assert.assertEquals(603 , message.getRepeatedField(f("packed_uint32" ),
0)); | |
| 2828 Assert.assertEquals(604L , message.getRepeatedField(f("packed_uint64" ),
0)); | |
| 2829 Assert.assertEquals(605 , message.getRepeatedField(f("packed_sint32" ),
0)); | |
| 2830 Assert.assertEquals(606L , message.getRepeatedField(f("packed_sint64" ),
0)); | |
| 2831 Assert.assertEquals(607 , message.getRepeatedField(f("packed_fixed32" ),
0)); | |
| 2832 Assert.assertEquals(608L , message.getRepeatedField(f("packed_fixed64" ),
0)); | |
| 2833 Assert.assertEquals(609 , message.getRepeatedField(f("packed_sfixed32"),
0)); | |
| 2834 Assert.assertEquals(610L , message.getRepeatedField(f("packed_sfixed64"),
0)); | |
| 2835 Assert.assertEquals(611F , message.getRepeatedField(f("packed_float" ),
0)); | |
| 2836 Assert.assertEquals(612D , message.getRepeatedField(f("packed_double" ),
0)); | |
| 2837 Assert.assertEquals(true , message.getRepeatedField(f("packed_bool" ),
0)); | |
| 2838 Assert.assertEquals(foreignBar, message.getRepeatedField(f("packed_enum" )
,0)); | |
| 2839 Assert.assertEquals(701 , message.getRepeatedField(f("packed_int32" ),
1)); | |
| 2840 Assert.assertEquals(702L , message.getRepeatedField(f("packed_int64" ),
1)); | |
| 2841 Assert.assertEquals(703 , message.getRepeatedField(f("packed_uint32" ),
1)); | |
| 2842 Assert.assertEquals(704L , message.getRepeatedField(f("packed_uint64" ),
1)); | |
| 2843 Assert.assertEquals(705 , message.getRepeatedField(f("packed_sint32" ),
1)); | |
| 2844 Assert.assertEquals(706L , message.getRepeatedField(f("packed_sint64" ),
1)); | |
| 2845 Assert.assertEquals(707 , message.getRepeatedField(f("packed_fixed32" ),
1)); | |
| 2846 Assert.assertEquals(708L , message.getRepeatedField(f("packed_fixed64" ),
1)); | |
| 2847 Assert.assertEquals(709 , message.getRepeatedField(f("packed_sfixed32"),
1)); | |
| 2848 Assert.assertEquals(710L , message.getRepeatedField(f("packed_sfixed64"),
1)); | |
| 2849 Assert.assertEquals(711F , message.getRepeatedField(f("packed_float" ),
1)); | |
| 2850 Assert.assertEquals(712D , message.getRepeatedField(f("packed_double" ),
1)); | |
| 2851 Assert.assertEquals(false, message.getRepeatedField(f("packed_bool" ),
1)); | |
| 2852 Assert.assertEquals(foreignBaz, message.getRepeatedField(f("packed_enum" )
,1)); | |
| 2853 } | |
| 2854 | |
| 2855 /** | |
| 2856 * Verifies that the reflection setters for the given.Builder object throw a | |
| 2857 * NullPointerException if they are passed a null value. Uses Assert to thr
ow an | |
| 2858 * appropriate assertion failure, if the condition is not verified. | |
| 2859 */ | |
| 2860 public void assertReflectionSettersRejectNull(Message.Builder builder) | |
| 2861 throws Exception { | |
| 2862 try { | |
| 2863 builder.setField(f("optional_string"), null); | |
| 2864 Assert.fail("Exception was not thrown"); | |
| 2865 } catch (NullPointerException e) { | |
| 2866 // We expect this exception. | |
| 2867 } | |
| 2868 try { | |
| 2869 builder.setField(f("optional_bytes"), null); | |
| 2870 Assert.fail("Exception was not thrown"); | |
| 2871 } catch (NullPointerException e) { | |
| 2872 // We expect this exception. | |
| 2873 } | |
| 2874 try { | |
| 2875 builder.setField(f("optional_nested_enum"), null); | |
| 2876 Assert.fail("Exception was not thrown"); | |
| 2877 } catch (NullPointerException e) { | |
| 2878 // We expect this exception. | |
| 2879 } | |
| 2880 try { | |
| 2881 builder.setField(f("optional_nested_message"), | |
| 2882 (TestAllTypes.NestedMessage) null); | |
| 2883 Assert.fail("Exception was not thrown"); | |
| 2884 } catch (NullPointerException e) { | |
| 2885 // We expect this exception. | |
| 2886 } | |
| 2887 try { | |
| 2888 builder.setField(f("optional_nested_message"), | |
| 2889 (TestAllTypes.NestedMessage.Builder) null); | |
| 2890 Assert.fail("Exception was not thrown"); | |
| 2891 } catch (NullPointerException e) { | |
| 2892 // We expect this exception. | |
| 2893 } | |
| 2894 | |
| 2895 try { | |
| 2896 builder.addRepeatedField(f("repeated_string"), null); | |
| 2897 Assert.fail("Exception was not thrown"); | |
| 2898 } catch (NullPointerException e) { | |
| 2899 // We expect this exception. | |
| 2900 } | |
| 2901 try { | |
| 2902 builder.addRepeatedField(f("repeated_bytes"), null); | |
| 2903 Assert.fail("Exception was not thrown"); | |
| 2904 } catch (NullPointerException e) { | |
| 2905 // We expect this exception. | |
| 2906 } | |
| 2907 try { | |
| 2908 builder.addRepeatedField(f("repeated_nested_enum"), null); | |
| 2909 Assert.fail("Exception was not thrown"); | |
| 2910 } catch (NullPointerException e) { | |
| 2911 // We expect this exception. | |
| 2912 } | |
| 2913 try { | |
| 2914 builder.addRepeatedField(f("repeated_nested_message"), null); | |
| 2915 Assert.fail("Exception was not thrown"); | |
| 2916 } catch (NullPointerException e) { | |
| 2917 // We expect this exception. | |
| 2918 } | |
| 2919 } | |
| 2920 | |
| 2921 /** | |
| 2922 * Verifies that the reflection repeated setters for the given Builder objec
t throw a | |
| 2923 * NullPointerException if they are passed a null value. Uses Assert to thr
ow an appropriate | |
| 2924 * assertion failure, if the condition is not verified. | |
| 2925 */ | |
| 2926 public void assertReflectionRepeatedSettersRejectNull(Message.Builder builde
r) | |
| 2927 throws Exception { | |
| 2928 builder.addRepeatedField(f("repeated_string"), "one"); | |
| 2929 try { | |
| 2930 builder.setRepeatedField(f("repeated_string"), 0, null); | |
| 2931 Assert.fail("Exception was not thrown"); | |
| 2932 } catch (NullPointerException e) { | |
| 2933 // We expect this exception. | |
| 2934 } | |
| 2935 | |
| 2936 builder.addRepeatedField(f("repeated_bytes"), toBytes("one")); | |
| 2937 try { | |
| 2938 builder.setRepeatedField(f("repeated_bytes"), 0, null); | |
| 2939 Assert.fail("Exception was not thrown"); | |
| 2940 } catch (NullPointerException e) { | |
| 2941 // We expect this exception. | |
| 2942 } | |
| 2943 | |
| 2944 builder.addRepeatedField(f("repeated_nested_enum"), nestedBaz); | |
| 2945 try { | |
| 2946 builder.setRepeatedField(f("repeated_nested_enum"), 0, null); | |
| 2947 Assert.fail("Exception was not thrown"); | |
| 2948 } catch (NullPointerException e) { | |
| 2949 // We expect this exception. | |
| 2950 } | |
| 2951 | |
| 2952 builder.addRepeatedField( | |
| 2953 f("repeated_nested_message"), | |
| 2954 TestAllTypes.NestedMessage.newBuilder().setBb(218).build()); | |
| 2955 try { | |
| 2956 builder.setRepeatedField(f("repeated_nested_message"), 0, null); | |
| 2957 Assert.fail("Exception was not thrown"); | |
| 2958 } catch (NullPointerException e) { | |
| 2959 // We expect this exception. | |
| 2960 } | |
| 2961 } | |
| 2962 } | |
| 2963 | |
| 2964 /** | |
| 2965 * @param filePath The path relative to | |
| 2966 * {@link #getTestDataDir}. | |
| 2967 */ | |
| 2968 public static String readTextFromFile(String filePath) { | |
| 2969 return readBytesFromFile(filePath).toStringUtf8(); | |
| 2970 } | |
| 2971 | |
| 2972 private static File getTestDataDir() { | |
| 2973 // Search each parent directory looking for "src/google/protobuf". | |
| 2974 File ancestor = new File("."); | |
| 2975 try { | |
| 2976 ancestor = ancestor.getCanonicalFile(); | |
| 2977 } catch (IOException e) { | |
| 2978 throw new RuntimeException( | |
| 2979 "Couldn't get canonical name of working directory.", e); | |
| 2980 } | |
| 2981 while (ancestor != null && ancestor.exists()) { | |
| 2982 if (new File(ancestor, "src/google/protobuf").exists()) { | |
| 2983 return new File(ancestor, "src/google/protobuf/testdata"); | |
| 2984 } | |
| 2985 ancestor = ancestor.getParentFile(); | |
| 2986 } | |
| 2987 | |
| 2988 throw new RuntimeException( | |
| 2989 "Could not find golden files. This test must be run from within the " + | |
| 2990 "protobuf source package so that it can read test data files from the " + | |
| 2991 "C++ source tree: " + new File(".").getAbsolutePath()); | |
| 2992 } | |
| 2993 | |
| 2994 /** | |
| 2995 * @param filename The path relative to | |
| 2996 * {@link #getTestDataDir}. | |
| 2997 */ | |
| 2998 public static ByteString readBytesFromFile(String filename) { | |
| 2999 File fullPath = new File(getTestDataDir(), filename); | |
| 3000 try { | |
| 3001 RandomAccessFile file = new RandomAccessFile(fullPath, "r"); | |
| 3002 byte[] content = new byte[(int) file.length()]; | |
| 3003 file.readFully(content); | |
| 3004 return ByteString.copyFrom(content); | |
| 3005 } catch (IOException e) { | |
| 3006 // Throw a RuntimeException here so that we can call this function from | |
| 3007 // static initializers. | |
| 3008 throw new IllegalArgumentException( | |
| 3009 "Couldn't read file: " + fullPath.getPath(), e); | |
| 3010 } | |
| 3011 } | |
| 3012 | |
| 3013 /** | |
| 3014 * Get the bytes of the "golden message". This is a serialized TestAllTypes | |
| 3015 * with all fields set as they would be by | |
| 3016 * {@link #setAllFields(TestAllTypes.Builder)}, but it is loaded from a file | |
| 3017 * on disk rather than generated dynamically. The file is actually generated | |
| 3018 * by C++ code, so testing against it verifies compatibility with C++. | |
| 3019 */ | |
| 3020 public static ByteString getGoldenMessage() { | |
| 3021 if (goldenMessage == null) { | |
| 3022 goldenMessage = readBytesFromFile("golden_message"); | |
| 3023 } | |
| 3024 return goldenMessage; | |
| 3025 } | |
| 3026 private static ByteString goldenMessage = null; | |
| 3027 | |
| 3028 /** | |
| 3029 * Get the bytes of the "golden packed fields message". This is a serialized | |
| 3030 * TestPackedTypes with all fields set as they would be by | |
| 3031 * {@link #setPackedFields(TestPackedTypes.Builder)}, but it is loaded from a | |
| 3032 * file on disk rather than generated dynamically. The file is actually | |
| 3033 * generated by C++ code, so testing against it verifies compatibility with | |
| 3034 * C++. | |
| 3035 */ | |
| 3036 public static ByteString getGoldenPackedFieldsMessage() { | |
| 3037 if (goldenPackedFieldsMessage == null) { | |
| 3038 goldenPackedFieldsMessage = | |
| 3039 readBytesFromFile("golden_packed_fields_message"); | |
| 3040 } | |
| 3041 return goldenPackedFieldsMessage; | |
| 3042 } | |
| 3043 private static ByteString goldenPackedFieldsMessage = null; | |
| 3044 | |
| 3045 public static abstract class HackMessage extends GeneratedMessage { | |
| 3046 public interface MyInterface extends BuilderParent { | |
| 3047 } | |
| 3048 } | |
| 3049 /** | |
| 3050 * Mock implementation of {@link GeneratedMessage.BuilderParent} for testing. | |
| 3051 * | |
| 3052 * @author jonp@google.com (Jon Perlow) | |
| 3053 */ | |
| 3054 public static class MockBuilderParent | |
| 3055 implements HackMessage.MyInterface { | |
| 3056 | |
| 3057 private int invalidations; | |
| 3058 | |
| 3059 //@Override (Java 1.6 override semantics, but we must support 1.5) | |
| 3060 public void markDirty() { | |
| 3061 invalidations++; | |
| 3062 } | |
| 3063 | |
| 3064 public int getInvalidationCount() { | |
| 3065 return invalidations; | |
| 3066 } | |
| 3067 } | |
| 3068 } | |
| OLD | NEW |