1 // Protocol Buffers - Google's data interchange format 2 // Copyright 2008 Google Inc. All rights reserved. 3 // 4 // Use of this source code is governed by a BSD-style 5 // license that can be found in the LICENSE file or at 6 // https://developers.google.com/open-source/licenses/bsd 7 8 package com.google.protobuf.kotlin 9 10 import com.google.common.truth.Truth.assertThat 11 import com.google.protobuf.TestAllTypesLiteKt 12 import com.google.protobuf.TestAllTypesLiteKt.nestedMessage 13 import com.google.protobuf.TestUtilLite 14 import com.google.protobuf.TestUtilLite.toBytes 15 import com.google.protobuf.UnittestImportLite.ImportEnumLite 16 import com.google.protobuf.UnittestImportLite.ImportMessageLite 17 import com.google.protobuf.UnittestImportPublicLite.PublicImportMessageLite 18 import com.google.protobuf.UnittestLite 19 import com.google.protobuf.UnittestLite.ForeignEnumLite 20 import com.google.protobuf.UnittestLite.TestAllTypesLite 21 import com.google.protobuf.UnittestLite.TestAllTypesLite.NestedEnum 22 import com.google.protobuf.UnittestLite.TestEmptyMessageLite 23 import com.google.protobuf.UnittestLite.TestEmptyMessageWithExtensionsLite 24 import com.google.protobuf.copy 25 import com.google.protobuf.foreignMessageLite 26 import com.google.protobuf.optionalGroupExtensionLite 27 import com.google.protobuf.repeatedGroupExtensionLite 28 import com.google.protobuf.testAllExtensionsLite 29 import com.google.protobuf.testAllTypesLite 30 import com.google.protobuf.testEmptyMessageLite 31 import com.google.protobuf.testEmptyMessageWithExtensionsLite 32 import protobuf_unittest.MapLiteUnittest.MapEnumLite 33 import protobuf_unittest.MapLiteUnittest.TestMapLite 34 import protobuf_unittest.testMapLite 35 import `in`.com.google.protobuf.kotlin.generator.EvilNamesProto2 36 import `in`.com.google.protobuf.kotlin.generator.HardKeywordsAllTypesProto2 37 import `in`.com.google.protobuf.kotlin.generator.HardKeywordsAllTypesProto2Kt 38 import `in`.com.google.protobuf.kotlin.generator.Interface 39 import `in`.com.google.protobuf.kotlin.generator.evilNamesProto2 40 import `in`.com.google.protobuf.kotlin.generator.hardKeywordsAllTypesProto2 41 import `in`.com.google.protobuf.kotlin.generator.interface_ 42 import org.junit.Test 43 import org.junit.runner.RunWith 44 import org.junit.runners.JUnit4 45 46 @RunWith(JUnit4::class) 47 class Proto2LiteTest { 48 @Test testSettersnull49 fun testSetters() { 50 assertThat( 51 testAllTypesLite { 52 optionalInt32 = 101 53 optionalInt64 = 102 54 optionalUint32 = 103 55 optionalUint64 = 104 56 optionalSint32 = 105 57 optionalSint64 = 106 58 optionalFixed32 = 107 59 optionalFixed64 = 108 60 optionalSfixed32 = 109 61 optionalSfixed64 = 110 62 optionalFloat = 111.0f 63 optionalDouble = 112.0 64 optionalBool = true 65 optionalString = "115" 66 optionalBytes = toBytes("116") 67 optionalGroup = TestAllTypesLiteKt.optionalGroup { a = 117 } 68 optionalNestedMessage = nestedMessage { bb = 118 } 69 optionalForeignMessage = foreignMessageLite { c = 119 } 70 optionalImportMessage = ImportMessageLite.newBuilder().setD(120).build() 71 optionalPublicImportMessage = PublicImportMessageLite.newBuilder().setE(126).build() 72 optionalLazyMessage = nestedMessage { bb = 127 } 73 optionalUnverifiedLazyMessage = nestedMessage { bb = 128 } 74 optionalNestedEnum = NestedEnum.BAZ 75 optionalForeignEnum = ForeignEnumLite.FOREIGN_LITE_BAZ 76 optionalImportEnum = ImportEnumLite.IMPORT_LITE_BAZ 77 optionalStringPiece = "124" 78 optionalCord = "125" 79 repeatedInt32.add(201) 80 repeatedInt64.add(202) 81 repeatedUint32.add(203) 82 repeatedUint64.add(204) 83 repeatedSint32.add(205) 84 repeatedSint64.add(206) 85 repeatedFixed32.add(207) 86 repeatedFixed64.add(208) 87 repeatedSfixed32.add(209) 88 repeatedSfixed64.add(210) 89 repeatedFloat.add(211f) 90 repeatedDouble.add(212.0) 91 repeatedBool.add(true) 92 repeatedString.add("215") 93 repeatedBytes.add(toBytes("216")) 94 repeatedGroup.add(TestAllTypesLiteKt.repeatedGroup { a = 217 }) 95 repeatedNestedMessage.add(nestedMessage { bb = 218 }) 96 repeatedForeignMessage.add(foreignMessageLite { c = 219 }) 97 repeatedImportMessage.add(ImportMessageLite.newBuilder().setD(220).build()) 98 repeatedLazyMessage.add(nestedMessage { bb = 227 }) 99 repeatedNestedEnum.add(NestedEnum.BAR) 100 repeatedForeignEnum.add(ForeignEnumLite.FOREIGN_LITE_BAR) 101 repeatedImportEnum.add(ImportEnumLite.IMPORT_LITE_BAR) 102 repeatedStringPiece.add("224") 103 repeatedCord.add("225") 104 repeatedInt32 += 301 105 repeatedInt64 += 302 106 repeatedUint32 += 303 107 repeatedUint64 += 304 108 repeatedSint32 += 305 109 repeatedSint64 += 306 110 repeatedFixed32 += 307 111 repeatedFixed64 += 308 112 repeatedSfixed32 += 309 113 repeatedSfixed64 += 310 114 repeatedFloat += 311f 115 repeatedDouble += 312.0 116 repeatedBool += false 117 repeatedString += "315" 118 repeatedBytes += toBytes("316") 119 repeatedGroup += TestAllTypesLiteKt.repeatedGroup { a = 317 } 120 repeatedNestedMessage += nestedMessage { bb = 318 } 121 repeatedForeignMessage += foreignMessageLite { c = 319 } 122 repeatedImportMessage += ImportMessageLite.newBuilder().setD(320).build() 123 repeatedLazyMessage += TestAllTypesLiteKt.nestedMessage { bb = 327 } 124 repeatedNestedEnum += NestedEnum.BAZ 125 repeatedForeignEnum += ForeignEnumLite.FOREIGN_LITE_BAZ 126 repeatedImportEnum += ImportEnumLite.IMPORT_LITE_BAZ 127 repeatedStringPiece += "324" 128 repeatedCord += "325" 129 defaultInt32 = 401 130 defaultInt64 = 402 131 defaultUint32 = 403 132 defaultUint64 = 404 133 defaultSint32 = 405 134 defaultSint64 = 406 135 defaultFixed32 = 407 136 defaultFixed64 = 408 137 defaultSfixed32 = 409 138 defaultSfixed64 = 410 139 defaultFloat = 411f 140 defaultDouble = 412.0 141 defaultBool = false 142 defaultString = "415" 143 defaultBytes = toBytes("416") 144 defaultNestedEnum = NestedEnum.FOO 145 defaultForeignEnum = ForeignEnumLite.FOREIGN_LITE_FOO 146 defaultImportEnum = ImportEnumLite.IMPORT_LITE_FOO 147 defaultStringPiece = "424" 148 defaultCord = "425" 149 oneofUint32 = 601 150 oneofNestedMessage = TestAllTypesLiteKt.nestedMessage { bb = 602 } 151 oneofString = "603" 152 oneofBytes = toBytes("604") 153 } 154 ) 155 .isEqualTo(TestUtilLite.getAllLiteSetBuilder().build()) 156 } 157 158 @Suppress("CheckReturnValue") 159 @Test testGettersnull160 fun testGetters() { 161 testAllTypesLite { 162 optionalInt32 = 101 163 assertThat(optionalInt32).isEqualTo(101) 164 optionalString = "115" 165 assertThat(optionalString).isEqualTo("115") 166 optionalGroup = TestAllTypesLiteKt.optionalGroup { a = 117 } 167 assertThat(optionalGroup).isEqualTo(TestAllTypesLiteKt.optionalGroup { a = 117 }) 168 optionalNestedMessage = TestAllTypesLiteKt.nestedMessage { bb = 118 } 169 assertThat(optionalNestedMessage).isEqualTo(TestAllTypesLiteKt.nestedMessage { bb = 118 }) 170 optionalNestedEnum = NestedEnum.BAZ 171 assertThat(optionalNestedEnum).isEqualTo(NestedEnum.BAZ) 172 defaultInt32 = 401 173 assertThat(defaultInt32).isEqualTo(401) 174 oneofUint32 = 601 175 assertThat(oneofUint32).isEqualTo(601) 176 } 177 } 178 179 @Suppress("CheckReturnValue") 180 @Test testDefaultGettersnull181 fun testDefaultGetters() { 182 testAllTypesLite { 183 assertThat(defaultInt32).isEqualTo(41) 184 assertThat(defaultString).isEqualTo("hello") 185 assertThat(defaultNestedEnum).isEqualTo(NestedEnum.BAR) 186 assertThat(defaultStringPiece).isEqualTo("abc") 187 } 188 } 189 190 @Suppress("CheckReturnValue") 191 @Test testRepeatedGettersAndSettersnull192 fun testRepeatedGettersAndSetters() { 193 testAllTypesLite { 194 repeatedInt32.addAll(listOf(1, 2)) 195 assertThat(repeatedInt32).isEqualTo(listOf(1, 2)) 196 repeatedInt32 += listOf(3, 4) 197 assertThat(repeatedInt32).isEqualTo(listOf(1, 2, 3, 4)) 198 repeatedInt32[0] = 5 199 assertThat(repeatedInt32).isEqualTo(listOf(5, 2, 3, 4)) 200 201 repeatedString.addAll(listOf("1", "2")) 202 assertThat(repeatedString).isEqualTo(listOf("1", "2")) 203 repeatedString += listOf("3", "4") 204 assertThat(repeatedString).isEqualTo(listOf("1", "2", "3", "4")) 205 repeatedString[0] = "5" 206 assertThat(repeatedString).isEqualTo(listOf("5", "2", "3", "4")) 207 208 repeatedGroup.addAll( 209 listOf( 210 TestAllTypesLiteKt.repeatedGroup { a = 1 }, 211 TestAllTypesLiteKt.repeatedGroup { a = 2 }, 212 ) 213 ) 214 assertThat(repeatedGroup) 215 .isEqualTo( 216 listOf( 217 TestAllTypesLiteKt.repeatedGroup { a = 1 }, 218 TestAllTypesLiteKt.repeatedGroup { a = 2 }, 219 ) 220 ) 221 repeatedGroup += 222 listOf( 223 TestAllTypesLiteKt.repeatedGroup { a = 3 }, 224 TestAllTypesLiteKt.repeatedGroup { a = 4 }, 225 ) 226 assertThat(repeatedGroup) 227 .isEqualTo( 228 listOf( 229 TestAllTypesLiteKt.repeatedGroup { a = 1 }, 230 TestAllTypesLiteKt.repeatedGroup { a = 2 }, 231 TestAllTypesLiteKt.repeatedGroup { a = 3 }, 232 TestAllTypesLiteKt.repeatedGroup { a = 4 }, 233 ) 234 ) 235 repeatedGroup[0] = TestAllTypesLiteKt.repeatedGroup { a = 5 } 236 assertThat(repeatedGroup) 237 .isEqualTo( 238 listOf( 239 TestAllTypesLiteKt.repeatedGroup { a = 5 }, 240 TestAllTypesLiteKt.repeatedGroup { a = 2 }, 241 TestAllTypesLiteKt.repeatedGroup { a = 3 }, 242 TestAllTypesLiteKt.repeatedGroup { a = 4 }, 243 ) 244 ) 245 246 repeatedNestedMessage.addAll(listOf(nestedMessage { bb = 1 }, nestedMessage { bb = 2 })) 247 assertThat(repeatedNestedMessage) 248 .isEqualTo(listOf(nestedMessage { bb = 1 }, nestedMessage { bb = 2 })) 249 repeatedNestedMessage += listOf(nestedMessage { bb = 3 }, nestedMessage { bb = 4 }) 250 assertThat(repeatedNestedMessage) 251 .isEqualTo( 252 listOf( 253 nestedMessage { bb = 1 }, 254 nestedMessage { bb = 2 }, 255 nestedMessage { bb = 3 }, 256 nestedMessage { bb = 4 }, 257 ) 258 ) 259 repeatedNestedMessage[0] = nestedMessage { bb = 5 } 260 assertThat(repeatedNestedMessage) 261 .isEqualTo( 262 listOf( 263 nestedMessage { bb = 5 }, 264 nestedMessage { bb = 2 }, 265 nestedMessage { bb = 3 }, 266 nestedMessage { bb = 4 }, 267 ) 268 ) 269 270 repeatedNestedEnum.addAll(listOf(NestedEnum.FOO, NestedEnum.BAR)) 271 assertThat(repeatedNestedEnum).isEqualTo(listOf(NestedEnum.FOO, NestedEnum.BAR)) 272 repeatedNestedEnum += listOf(NestedEnum.BAZ, NestedEnum.FOO) 273 assertThat(repeatedNestedEnum) 274 .isEqualTo(listOf(NestedEnum.FOO, NestedEnum.BAR, NestedEnum.BAZ, NestedEnum.FOO)) 275 repeatedNestedEnum[0] = NestedEnum.BAR 276 assertThat(repeatedNestedEnum) 277 .isEqualTo(listOf(NestedEnum.BAR, NestedEnum.BAR, NestedEnum.BAZ, NestedEnum.FOO)) 278 } 279 } 280 281 @Suppress("CheckReturnValue") 282 @Test testHazzersnull283 fun testHazzers() { 284 testAllTypesLite { 285 optionalInt32 = 101 286 assertThat(hasOptionalInt32()).isTrue() 287 assertThat(hasOptionalString()).isFalse() 288 optionalGroup = TestAllTypesLiteKt.optionalGroup { a = 117 } 289 assertThat(hasOptionalGroup()).isTrue() 290 assertThat(hasOptionalNestedMessage()).isFalse() 291 optionalNestedEnum = NestedEnum.BAZ 292 assertThat(hasOptionalNestedEnum()).isTrue() 293 assertThat(hasDefaultInt32()).isFalse() 294 oneofUint32 = 601 295 assertThat(hasOneofUint32()).isTrue() 296 } 297 298 testAllTypesLite { 299 assertThat(hasOptionalInt32()).isFalse() 300 optionalString = "115" 301 assertThat(hasOptionalString()).isTrue() 302 assertThat(hasOptionalGroup()).isFalse() 303 optionalNestedMessage = TestAllTypesLiteKt.nestedMessage { bb = 118 } 304 assertThat(hasOptionalNestedMessage()).isTrue() 305 assertThat(hasOptionalNestedEnum()).isFalse() 306 defaultInt32 = 401 307 assertThat(hasDefaultInt32()).isTrue() 308 assertThat(hasOneofUint32()).isFalse() 309 } 310 } 311 312 @Suppress("CheckReturnValue") 313 @Test testClearsnull314 fun testClears() { 315 testAllTypesLite { 316 optionalInt32 = 101 317 clearOptionalInt32() 318 assertThat(hasOptionalInt32()).isFalse() 319 320 optionalString = "115" 321 clearOptionalString() 322 assertThat(hasOptionalString()).isFalse() 323 324 optionalGroup = TestAllTypesLiteKt.optionalGroup { a = 117 } 325 clearOptionalGroup() 326 assertThat(hasOptionalGroup()).isFalse() 327 328 optionalNestedMessage = TestAllTypesLiteKt.nestedMessage { bb = 118 } 329 clearOptionalNestedMessage() 330 assertThat(hasOptionalNestedMessage()).isFalse() 331 332 optionalNestedEnum = NestedEnum.BAZ 333 clearOptionalNestedEnum() 334 assertThat(hasOptionalNestedEnum()).isFalse() 335 336 defaultInt32 = 401 337 clearDefaultInt32() 338 assertThat(hasDefaultInt32()).isFalse() 339 340 oneofUint32 = 601 341 clearOneofUint32() 342 assertThat(hasOneofUint32()).isFalse() 343 } 344 } 345 346 @Test testCopynull347 fun testCopy() { 348 val message = testAllTypesLite { 349 optionalInt32 = 101 350 optionalString = "115" 351 } 352 val modifiedMessage = message.copy { optionalInt32 = 201 } 353 354 assertThat(message) 355 .isEqualTo( 356 TestAllTypesLite.newBuilder().setOptionalInt32(101).setOptionalString("115").build() 357 ) 358 assertThat(modifiedMessage) 359 .isEqualTo( 360 TestAllTypesLite.newBuilder().setOptionalInt32(201).setOptionalString("115").build() 361 ) 362 } 363 364 @Test testOneofnull365 fun testOneof() { 366 val message = testAllTypesLite { 367 oneofString = "foo" 368 assertThat(oneofFieldCase).isEqualTo(TestAllTypesLite.OneofFieldCase.ONEOF_STRING) 369 assertThat(oneofString).isEqualTo("foo") 370 clearOneofField() 371 assertThat(hasOneofUint32()).isFalse() 372 assertThat(oneofFieldCase).isEqualTo(TestAllTypesLite.OneofFieldCase.ONEOFFIELD_NOT_SET) 373 oneofUint32 = 5 374 } 375 376 assertThat(message.getOneofFieldCase()).isEqualTo(TestAllTypesLite.OneofFieldCase.ONEOF_UINT32) 377 assertThat(message.getOneofUint32()).isEqualTo(5) 378 } 379 380 @Test testExtensionsSetnull381 fun testExtensionsSet() { 382 assertThat( 383 testAllExtensionsLite { 384 setExtension(UnittestLite.optionalInt32ExtensionLite, 101) 385 setExtension(UnittestLite.optionalInt64ExtensionLite, 102L) 386 setExtension(UnittestLite.optionalUint32ExtensionLite, 103) 387 setExtension(UnittestLite.optionalUint64ExtensionLite, 104L) 388 setExtension(UnittestLite.optionalSint32ExtensionLite, 105) 389 setExtension(UnittestLite.optionalSint64ExtensionLite, 106L) 390 setExtension(UnittestLite.optionalFixed32ExtensionLite, 107) 391 setExtension(UnittestLite.optionalFixed64ExtensionLite, 108L) 392 setExtension(UnittestLite.optionalSfixed32ExtensionLite, 109) 393 setExtension(UnittestLite.optionalSfixed64ExtensionLite, 110L) 394 setExtension(UnittestLite.optionalFloatExtensionLite, 111F) 395 setExtension(UnittestLite.optionalDoubleExtensionLite, 112.0) 396 setExtension(UnittestLite.optionalBoolExtensionLite, true) 397 setExtension(UnittestLite.optionalStringExtensionLite, "115") 398 setExtension(UnittestLite.optionalBytesExtensionLite, toBytes("116")) 399 setExtension( 400 UnittestLite.optionalGroupExtensionLite, 401 optionalGroupExtensionLite { a = 117 }, 402 ) 403 setExtension( 404 UnittestLite.optionalNestedMessageExtensionLite, 405 TestAllTypesLiteKt.nestedMessage { bb = 118 }, 406 ) 407 setExtension( 408 UnittestLite.optionalForeignMessageExtensionLite, 409 foreignMessageLite { c = 119 }, 410 ) 411 setExtension( 412 UnittestLite.optionalImportMessageExtensionLite, 413 ImportMessageLite.newBuilder().setD(120).build(), 414 ) 415 setExtension( 416 UnittestLite.optionalPublicImportMessageExtensionLite, 417 PublicImportMessageLite.newBuilder().setE(126).build(), 418 ) 419 setExtension( 420 UnittestLite.optionalLazyMessageExtensionLite, 421 TestAllTypesLiteKt.nestedMessage { bb = 127 }, 422 ) 423 setExtension( 424 UnittestLite.optionalUnverifiedLazyMessageExtensionLite, 425 TestAllTypesLiteKt.nestedMessage { bb = 128 }, 426 ) 427 setExtension(UnittestLite.optionalNestedEnumExtensionLite, NestedEnum.BAZ) 428 setExtension( 429 UnittestLite.optionalForeignEnumExtensionLite, 430 ForeignEnumLite.FOREIGN_LITE_BAZ, 431 ) 432 setExtension(UnittestLite.optionalImportEnumExtensionLite, ImportEnumLite.IMPORT_LITE_BAZ) 433 setExtension(UnittestLite.optionalStringPieceExtensionLite, "124") 434 setExtension(UnittestLite.optionalCordExtensionLite, "125") 435 this[UnittestLite.repeatedInt32ExtensionLite].add(201) 436 this[UnittestLite.repeatedInt64ExtensionLite].add(202L) 437 this[UnittestLite.repeatedUint32ExtensionLite].add(203) 438 this[UnittestLite.repeatedUint64ExtensionLite].add(204L) 439 this[UnittestLite.repeatedSint32ExtensionLite].add(205) 440 this[UnittestLite.repeatedSint64ExtensionLite].add(206L) 441 this[UnittestLite.repeatedFixed32ExtensionLite].add(207) 442 this[UnittestLite.repeatedFixed64ExtensionLite].add(208L) 443 this[UnittestLite.repeatedSfixed32ExtensionLite].add(209) 444 this[UnittestLite.repeatedSfixed64ExtensionLite].add(210L) 445 this[UnittestLite.repeatedFloatExtensionLite].add(211F) 446 this[UnittestLite.repeatedDoubleExtensionLite].add(212.0) 447 this[UnittestLite.repeatedBoolExtensionLite].add(true) 448 this[UnittestLite.repeatedStringExtensionLite].add("215") 449 this[UnittestLite.repeatedBytesExtensionLite].add(toBytes("216")) 450 this[UnittestLite.repeatedGroupExtensionLite].add(repeatedGroupExtensionLite { a = 217 }) 451 this[UnittestLite.repeatedNestedMessageExtensionLite].add( 452 TestAllTypesLiteKt.nestedMessage { bb = 218 } 453 ) 454 this[UnittestLite.repeatedForeignMessageExtensionLite].add(foreignMessageLite { c = 219 }) 455 this[UnittestLite.repeatedImportMessageExtensionLite].add( 456 ImportMessageLite.newBuilder().setD(220).build() 457 ) 458 this[UnittestLite.repeatedLazyMessageExtensionLite].add( 459 TestAllTypesLiteKt.nestedMessage { bb = 227 } 460 ) 461 this[UnittestLite.repeatedNestedEnumExtensionLite].add(NestedEnum.BAR) 462 this[UnittestLite.repeatedForeignEnumExtensionLite].add(ForeignEnumLite.FOREIGN_LITE_BAR) 463 this[UnittestLite.repeatedImportEnumExtensionLite].add(ImportEnumLite.IMPORT_LITE_BAR) 464 this[UnittestLite.repeatedStringPieceExtensionLite].add("224") 465 this[UnittestLite.repeatedCordExtensionLite].add("225") 466 this[UnittestLite.repeatedInt32ExtensionLite] += 301 467 this[UnittestLite.repeatedInt64ExtensionLite] += 302L 468 this[UnittestLite.repeatedUint32ExtensionLite] += 303 469 this[UnittestLite.repeatedUint64ExtensionLite] += 304L 470 this[UnittestLite.repeatedSint32ExtensionLite] += 305 471 this[UnittestLite.repeatedSint64ExtensionLite] += 306L 472 this[UnittestLite.repeatedFixed32ExtensionLite] += 307 473 this[UnittestLite.repeatedFixed64ExtensionLite] += 308L 474 this[UnittestLite.repeatedSfixed32ExtensionLite] += 309 475 this[UnittestLite.repeatedSfixed64ExtensionLite] += 310L 476 this[UnittestLite.repeatedFloatExtensionLite] += 311F 477 this[UnittestLite.repeatedDoubleExtensionLite] += 312.0 478 this[UnittestLite.repeatedBoolExtensionLite] += false 479 this[UnittestLite.repeatedStringExtensionLite] += "315" 480 this[UnittestLite.repeatedBytesExtensionLite] += toBytes("316") 481 this[UnittestLite.repeatedGroupExtensionLite] += repeatedGroupExtensionLite { a = 317 } 482 this[UnittestLite.repeatedNestedMessageExtensionLite] += 483 TestAllTypesLiteKt.nestedMessage { bb = 318 } 484 this[UnittestLite.repeatedForeignMessageExtensionLite] += foreignMessageLite { c = 319 } 485 this[UnittestLite.repeatedImportMessageExtensionLite] += 486 ImportMessageLite.newBuilder().setD(320).build() 487 this[UnittestLite.repeatedLazyMessageExtensionLite] += 488 TestAllTypesLiteKt.nestedMessage { bb = 327 } 489 this[UnittestLite.repeatedNestedEnumExtensionLite] += NestedEnum.BAZ 490 this[UnittestLite.repeatedForeignEnumExtensionLite] += ForeignEnumLite.FOREIGN_LITE_BAZ 491 this[UnittestLite.repeatedImportEnumExtensionLite] += ImportEnumLite.IMPORT_LITE_BAZ 492 this[UnittestLite.repeatedStringPieceExtensionLite] += "324" 493 this[UnittestLite.repeatedCordExtensionLite] += "325" 494 this[UnittestLite.defaultInt32ExtensionLite] = 401 495 this[UnittestLite.defaultInt64ExtensionLite] = 402L 496 this[UnittestLite.defaultUint32ExtensionLite] = 403 497 this[UnittestLite.defaultUint64ExtensionLite] = 404L 498 this[UnittestLite.defaultSint32ExtensionLite] = 405 499 this[UnittestLite.defaultSint64ExtensionLite] = 406L 500 this[UnittestLite.defaultFixed32ExtensionLite] = 407 501 this[UnittestLite.defaultFixed64ExtensionLite] = 408L 502 this[UnittestLite.defaultSfixed32ExtensionLite] = 409 503 this[UnittestLite.defaultSfixed64ExtensionLite] = 410L 504 this[UnittestLite.defaultFloatExtensionLite] = 411F 505 this[UnittestLite.defaultDoubleExtensionLite] = 412.0 506 this[UnittestLite.defaultBoolExtensionLite] = false 507 this[UnittestLite.defaultStringExtensionLite] = "415" 508 this[UnittestLite.defaultBytesExtensionLite] = toBytes("416") 509 this[UnittestLite.defaultNestedEnumExtensionLite] = NestedEnum.FOO 510 this[UnittestLite.defaultForeignEnumExtensionLite] = ForeignEnumLite.FOREIGN_LITE_FOO 511 this[UnittestLite.defaultImportEnumExtensionLite] = ImportEnumLite.IMPORT_LITE_FOO 512 this[UnittestLite.defaultStringPieceExtensionLite] = "424" 513 this[UnittestLite.defaultCordExtensionLite] = "425" 514 this[UnittestLite.oneofUint32ExtensionLite] = 601 515 this[UnittestLite.oneofNestedMessageExtensionLite] = 516 TestAllTypesLiteKt.nestedMessage { bb = 602 } 517 this[UnittestLite.oneofStringExtensionLite] = "603" 518 this[UnittestLite.oneofBytesExtensionLite] = toBytes("604") 519 } 520 ) 521 .isEqualTo(TestUtilLite.getAllLiteExtensionsSet()) 522 } 523 524 @Suppress("CheckReturnValue") 525 @Test testExtensionGettersnull526 fun testExtensionGetters() { 527 testAllExtensionsLite { 528 this[UnittestLite.optionalInt32ExtensionLite] = 101 529 assertThat(this[UnittestLite.optionalInt32ExtensionLite]).isEqualTo(101) 530 this[UnittestLite.optionalStringExtensionLite] = "115" 531 assertThat(this[UnittestLite.optionalStringExtensionLite]).isEqualTo("115") 532 this[UnittestLite.optionalGroupExtensionLite] = optionalGroupExtensionLite { a = 117 } 533 assertThat(this[UnittestLite.optionalGroupExtensionLite]) 534 .isEqualTo(optionalGroupExtensionLite { a = 117 }) 535 this[UnittestLite.optionalNestedMessageExtensionLite] = 536 TestAllTypesLiteKt.nestedMessage { bb = 118 } 537 assertThat(this[UnittestLite.optionalNestedMessageExtensionLite]) 538 .isEqualTo(TestAllTypesLiteKt.nestedMessage { bb = 118 }) 539 this[UnittestLite.optionalNestedEnumExtensionLite] = NestedEnum.BAZ 540 assertThat(this[UnittestLite.optionalNestedEnumExtensionLite]).isEqualTo(NestedEnum.BAZ) 541 this[UnittestLite.defaultInt32ExtensionLite] = 401 542 assertThat(this[UnittestLite.defaultInt32ExtensionLite]).isEqualTo(401) 543 this[UnittestLite.oneofUint32ExtensionLite] = 601 544 assertThat(this[UnittestLite.oneofUint32ExtensionLite]).isEqualTo(601) 545 } 546 } 547 548 @Suppress("CheckReturnValue") 549 @Test testRepeatedExtensionGettersAndSettersnull550 fun testRepeatedExtensionGettersAndSetters() { 551 testAllExtensionsLite { 552 this[UnittestLite.repeatedInt32ExtensionLite].addAll(listOf(1, 2)) 553 assertThat(this[UnittestLite.repeatedInt32ExtensionLite]).isEqualTo(listOf(1, 2)) 554 this[UnittestLite.repeatedInt32ExtensionLite] += listOf(3, 4) 555 assertThat(this[UnittestLite.repeatedInt32ExtensionLite]).isEqualTo(listOf(1, 2, 3, 4)) 556 this[UnittestLite.repeatedInt32ExtensionLite][0] = 5 557 assertThat(this[UnittestLite.repeatedInt32ExtensionLite]).isEqualTo(listOf(5, 2, 3, 4)) 558 559 this[UnittestLite.repeatedStringExtensionLite].addAll(listOf("1", "2")) 560 assertThat(this[UnittestLite.repeatedStringExtensionLite]).isEqualTo(listOf("1", "2")) 561 this[UnittestLite.repeatedStringExtensionLite] += listOf("3", "4") 562 assertThat(this[UnittestLite.repeatedStringExtensionLite]) 563 .isEqualTo(listOf("1", "2", "3", "4")) 564 this[UnittestLite.repeatedStringExtensionLite][0] = "5" 565 assertThat(this[UnittestLite.repeatedStringExtensionLite]) 566 .isEqualTo(listOf("5", "2", "3", "4")) 567 568 this[UnittestLite.repeatedGroupExtensionLite].addAll( 569 listOf(repeatedGroupExtensionLite { a = 1 }, repeatedGroupExtensionLite { a = 2 }) 570 ) 571 assertThat(this[UnittestLite.repeatedGroupExtensionLite]) 572 .isEqualTo( 573 listOf(repeatedGroupExtensionLite { a = 1 }, repeatedGroupExtensionLite { a = 2 }) 574 ) 575 this[UnittestLite.repeatedGroupExtensionLite] += 576 listOf(repeatedGroupExtensionLite { a = 3 }, repeatedGroupExtensionLite { a = 4 }) 577 assertThat(this[UnittestLite.repeatedGroupExtensionLite]) 578 .isEqualTo( 579 listOf( 580 repeatedGroupExtensionLite { a = 1 }, 581 repeatedGroupExtensionLite { a = 2 }, 582 repeatedGroupExtensionLite { a = 3 }, 583 repeatedGroupExtensionLite { a = 4 }, 584 ) 585 ) 586 this[UnittestLite.repeatedGroupExtensionLite][0] = repeatedGroupExtensionLite { a = 5 } 587 assertThat(this[UnittestLite.repeatedGroupExtensionLite]) 588 .isEqualTo( 589 listOf( 590 repeatedGroupExtensionLite { a = 5 }, 591 repeatedGroupExtensionLite { a = 2 }, 592 repeatedGroupExtensionLite { a = 3 }, 593 repeatedGroupExtensionLite { a = 4 }, 594 ) 595 ) 596 597 this[UnittestLite.repeatedNestedMessageExtensionLite].addAll( 598 listOf(nestedMessage { bb = 1 }, nestedMessage { bb = 2 }) 599 ) 600 assertThat(this[UnittestLite.repeatedNestedMessageExtensionLite]) 601 .isEqualTo(listOf(nestedMessage { bb = 1 }, nestedMessage { bb = 2 })) 602 this[UnittestLite.repeatedNestedMessageExtensionLite] += 603 listOf(nestedMessage { bb = 3 }, nestedMessage { bb = 4 }) 604 assertThat(this[UnittestLite.repeatedNestedMessageExtensionLite]) 605 .isEqualTo( 606 listOf( 607 nestedMessage { bb = 1 }, 608 nestedMessage { bb = 2 }, 609 nestedMessage { bb = 3 }, 610 nestedMessage { bb = 4 }, 611 ) 612 ) 613 this[UnittestLite.repeatedNestedMessageExtensionLite][0] = nestedMessage { bb = 5 } 614 assertThat(this[UnittestLite.repeatedNestedMessageExtensionLite]) 615 .isEqualTo( 616 listOf( 617 nestedMessage { bb = 5 }, 618 nestedMessage { bb = 2 }, 619 nestedMessage { bb = 3 }, 620 nestedMessage { bb = 4 }, 621 ) 622 ) 623 624 this[UnittestLite.repeatedNestedEnumExtensionLite].addAll( 625 listOf(NestedEnum.FOO, NestedEnum.BAR) 626 ) 627 assertThat(this[UnittestLite.repeatedNestedEnumExtensionLite]) 628 .isEqualTo(listOf(NestedEnum.FOO, NestedEnum.BAR)) 629 this[UnittestLite.repeatedNestedEnumExtensionLite] += listOf(NestedEnum.BAZ, NestedEnum.FOO) 630 assertThat(this[UnittestLite.repeatedNestedEnumExtensionLite]) 631 .isEqualTo(listOf(NestedEnum.FOO, NestedEnum.BAR, NestedEnum.BAZ, NestedEnum.FOO)) 632 this[UnittestLite.repeatedNestedEnumExtensionLite][0] = NestedEnum.BAR 633 assertThat(this[UnittestLite.repeatedNestedEnumExtensionLite]) 634 .isEqualTo(listOf(NestedEnum.BAR, NestedEnum.BAR, NestedEnum.BAZ, NestedEnum.FOO)) 635 } 636 } 637 638 @Suppress("CheckReturnValue") 639 @Test testExtensionContainsnull640 fun testExtensionContains() { 641 testAllExtensionsLite { 642 this[UnittestLite.optionalInt32ExtensionLite] = 101 643 assertThat(contains(UnittestLite.optionalInt32ExtensionLite)).isTrue() 644 assertThat(contains(UnittestLite.optionalStringExtensionLite)).isFalse() 645 this[UnittestLite.optionalGroupExtensionLite] = optionalGroupExtensionLite { a = 117 } 646 assertThat(contains(UnittestLite.optionalGroupExtensionLite)).isTrue() 647 assertThat(contains(UnittestLite.optionalNestedMessageExtensionLite)).isFalse() 648 this[UnittestLite.optionalNestedEnumExtensionLite] = NestedEnum.BAZ 649 assertThat(contains(UnittestLite.optionalNestedEnumExtensionLite)).isTrue() 650 assertThat(contains(UnittestLite.defaultInt32ExtensionLite)).isFalse() 651 this[UnittestLite.oneofUint32ExtensionLite] = 601 652 assertThat(contains(UnittestLite.oneofUint32ExtensionLite)).isTrue() 653 } 654 655 testAllExtensionsLite { 656 assertThat(contains(UnittestLite.optionalInt32ExtensionLite)).isFalse() 657 this[UnittestLite.optionalStringExtensionLite] = "115" 658 assertThat(contains(UnittestLite.optionalStringExtensionLite)).isTrue() 659 assertThat(contains(UnittestLite.optionalGroupExtensionLite)).isFalse() 660 this[UnittestLite.optionalNestedMessageExtensionLite] = 661 TestAllTypesLiteKt.nestedMessage { bb = 118 } 662 assertThat(contains(UnittestLite.optionalNestedMessageExtensionLite)).isTrue() 663 assertThat(contains(UnittestLite.optionalNestedEnumExtensionLite)).isFalse() 664 this[UnittestLite.defaultInt32ExtensionLite] = 401 665 assertThat(contains(UnittestLite.defaultInt32ExtensionLite)).isTrue() 666 assertThat(contains(UnittestLite.oneofUint32ExtensionLite)).isFalse() 667 } 668 } 669 670 @Suppress("CheckReturnValue") 671 @Test testExtensionClearsnull672 fun testExtensionClears() { 673 testAllExtensionsLite { 674 this[UnittestLite.optionalInt32ExtensionLite] = 101 675 clear(UnittestLite.optionalInt32ExtensionLite) 676 assertThat(contains(UnittestLite.optionalInt32ExtensionLite)).isFalse() 677 678 this[UnittestLite.optionalStringExtensionLite] = "115" 679 clear(UnittestLite.optionalStringExtensionLite) 680 assertThat(contains(UnittestLite.optionalStringExtensionLite)).isFalse() 681 682 this[UnittestLite.optionalGroupExtensionLite] = optionalGroupExtensionLite { a = 117 } 683 clear(UnittestLite.optionalGroupExtensionLite) 684 assertThat(contains(UnittestLite.optionalGroupExtensionLite)).isFalse() 685 686 this[UnittestLite.optionalNestedMessageExtensionLite] = 687 TestAllTypesLiteKt.nestedMessage { bb = 118 } 688 clear(UnittestLite.optionalNestedMessageExtensionLite) 689 assertThat(contains(UnittestLite.optionalNestedMessageExtensionLite)).isFalse() 690 691 this[UnittestLite.optionalNestedEnumExtensionLite] = NestedEnum.BAZ 692 clear(UnittestLite.optionalNestedEnumExtensionLite) 693 assertThat(contains(UnittestLite.optionalNestedEnumExtensionLite)).isFalse() 694 695 this[UnittestLite.defaultInt32ExtensionLite] = 401 696 clear(UnittestLite.defaultInt32ExtensionLite) 697 assertThat(contains(UnittestLite.defaultInt32ExtensionLite)).isFalse() 698 699 this[UnittestLite.oneofUint32ExtensionLite] = 601 700 clear(UnittestLite.oneofUint32ExtensionLite) 701 assertThat(contains(UnittestLite.oneofUint32ExtensionLite)).isFalse() 702 } 703 } 704 705 @Test testEmptyMessagesnull706 fun testEmptyMessages() { 707 assertThat(testEmptyMessageLite {}).isEqualTo(TestEmptyMessageLite.newBuilder().build()) 708 709 assertThat(testEmptyMessageWithExtensionsLite {}) 710 .isEqualTo(TestEmptyMessageWithExtensionsLite.newBuilder().build()) 711 } 712 713 @Test testMapSettersnull714 fun testMapSetters() { 715 assertThat( 716 testMapLite { 717 mapInt32Int32[1] = 2 718 mapInt64Int64[1L] = 2L 719 mapUint32Uint32[1] = 2 720 mapUint64Uint64[1L] = 2L 721 mapSint32Sint32[1] = 2 722 mapSint64Sint64[1L] = 2L 723 mapFixed32Fixed32[1] = 2 724 mapFixed64Fixed64[1L] = 2L 725 mapSfixed32Sfixed32[1] = 2 726 mapSfixed64Sfixed64[1L] = 2L 727 mapInt32Float[1] = 2F 728 mapInt32Double[1] = 2.0 729 mapBoolBool[true] = true 730 mapStringString["1"] = "2" 731 mapInt32Bytes[1] = toBytes("2") 732 mapInt32Enum[1] = MapEnumLite.MAP_ENUM_FOO_LITE 733 mapInt32ForeignMessage[1] = foreignMessageLite { c = 1 } 734 } 735 ) 736 .isEqualTo( 737 TestMapLite.newBuilder() 738 .putMapInt32Int32(1, 2) 739 .putMapInt64Int64(1L, 2L) 740 .putMapUint32Uint32(1, 2) 741 .putMapUint64Uint64(1L, 2L) 742 .putMapSint32Sint32(1, 2) 743 .putMapSint64Sint64(1L, 2L) 744 .putMapFixed32Fixed32(1, 2) 745 .putMapFixed64Fixed64(1L, 2L) 746 .putMapSfixed32Sfixed32(1, 2) 747 .putMapSfixed64Sfixed64(1L, 2L) 748 .putMapInt32Float(1, 2F) 749 .putMapInt32Double(1, 2.0) 750 .putMapBoolBool(true, true) 751 .putMapStringString("1", "2") 752 .putMapInt32Bytes(1, toBytes("2")) 753 .putMapInt32Enum(1, MapEnumLite.MAP_ENUM_FOO_LITE) 754 .putMapInt32ForeignMessage(1, foreignMessageLite { c = 1 }) 755 .build() 756 ) 757 } 758 759 @Suppress("CheckReturnValue") 760 @Test testMapGettersAndSettersnull761 fun testMapGettersAndSetters() { 762 testMapLite { 763 mapInt32Int32.put(1, 2) 764 assertThat(mapInt32Int32).isEqualTo(mapOf(1 to 2)) 765 mapInt32Int32[3] = 4 766 assertThat(mapInt32Int32).isEqualTo(mapOf(1 to 2, 3 to 4)) 767 mapInt32Int32.putAll(mapOf(5 to 6, 7 to 8)) 768 assertThat(mapInt32Int32).isEqualTo(mapOf(1 to 2, 3 to 4, 5 to 6, 7 to 8)) 769 770 mapStringString.put("1", "2") 771 assertThat(mapStringString).isEqualTo(mapOf("1" to "2")) 772 mapStringString["3"] = "4" 773 assertThat(mapStringString).isEqualTo(mapOf("1" to "2", "3" to "4")) 774 mapStringString.putAll(mapOf("5" to "6", "7" to "8")) 775 assertThat(mapStringString).isEqualTo(mapOf("1" to "2", "3" to "4", "5" to "6", "7" to "8")) 776 777 mapInt32Enum.put(1, MapEnumLite.MAP_ENUM_FOO_LITE) 778 assertThat(mapInt32Enum).isEqualTo(mapOf(1 to MapEnumLite.MAP_ENUM_FOO_LITE)) 779 mapInt32Enum[2] = MapEnumLite.MAP_ENUM_BAR_LITE 780 assertThat(mapInt32Enum) 781 .isEqualTo(mapOf(1 to MapEnumLite.MAP_ENUM_FOO_LITE, 2 to MapEnumLite.MAP_ENUM_BAR_LITE)) 782 mapInt32Enum.putAll( 783 mapOf(3 to MapEnumLite.MAP_ENUM_BAZ_LITE, 4 to MapEnumLite.MAP_ENUM_FOO_LITE) 784 ) 785 assertThat(mapInt32Enum) 786 .isEqualTo( 787 mapOf( 788 1 to MapEnumLite.MAP_ENUM_FOO_LITE, 789 2 to MapEnumLite.MAP_ENUM_BAR_LITE, 790 3 to MapEnumLite.MAP_ENUM_BAZ_LITE, 791 4 to MapEnumLite.MAP_ENUM_FOO_LITE, 792 ) 793 ) 794 795 mapInt32ForeignMessage.put(1, foreignMessageLite { c = 1 }) 796 assertThat(mapInt32ForeignMessage).isEqualTo(mapOf(1 to foreignMessageLite { c = 1 })) 797 mapInt32ForeignMessage[2] = foreignMessageLite { c = 2 } 798 assertThat(mapInt32ForeignMessage) 799 .isEqualTo(mapOf(1 to foreignMessageLite { c = 1 }, 2 to foreignMessageLite { c = 2 })) 800 mapInt32ForeignMessage.putAll( 801 mapOf(3 to foreignMessageLite { c = 3 }, 4 to foreignMessageLite { c = 4 }) 802 ) 803 assertThat(mapInt32ForeignMessage) 804 .isEqualTo( 805 mapOf( 806 1 to foreignMessageLite { c = 1 }, 807 2 to foreignMessageLite { c = 2 }, 808 3 to foreignMessageLite { c = 3 }, 809 4 to foreignMessageLite { c = 4 }, 810 ) 811 ) 812 } 813 } 814 815 @Suppress("CheckReturnValue") 816 @Test testMapRemovenull817 fun testMapRemove() { 818 testMapLite { 819 mapInt32Int32.putAll(mapOf(1 to 2, 3 to 4)) 820 mapInt32Int32.remove(1) 821 assertThat(mapInt32Int32).isEqualTo(mapOf(3 to 4)) 822 823 mapStringString.putAll(mapOf("1" to "2", "3" to "4")) 824 mapStringString.remove("1") 825 assertThat(mapStringString).isEqualTo(mapOf("3" to "4")) 826 827 mapInt32Enum.putAll( 828 mapOf(1 to MapEnumLite.MAP_ENUM_FOO_LITE, 2 to MapEnumLite.MAP_ENUM_BAR_LITE) 829 ) 830 mapInt32Enum.remove(1) 831 assertThat(mapInt32Enum).isEqualTo(mapOf(2 to MapEnumLite.MAP_ENUM_BAR_LITE)) 832 833 mapInt32ForeignMessage.putAll( 834 mapOf(1 to foreignMessageLite { c = 1 }, 2 to foreignMessageLite { c = 2 }) 835 ) 836 mapInt32ForeignMessage.remove(1) 837 assertThat(mapInt32ForeignMessage).isEqualTo(mapOf(2 to foreignMessageLite { c = 2 })) 838 } 839 } 840 841 @Suppress("CheckReturnValue") 842 @Test testMapClearnull843 fun testMapClear() { 844 testMapLite { 845 mapInt32Int32.putAll(mapOf(1 to 2, 3 to 4)) 846 mapInt32Int32.clear() 847 assertThat(mapInt32Int32.isEmpty()).isTrue() 848 849 mapStringString.putAll(mapOf("1" to "2", "3" to "4")) 850 mapStringString.clear() 851 assertThat(mapStringString.isEmpty()).isTrue() 852 853 mapInt32Enum.putAll( 854 mapOf(1 to MapEnumLite.MAP_ENUM_FOO_LITE, 2 to MapEnumLite.MAP_ENUM_BAR_LITE) 855 ) 856 mapInt32Enum.clear() 857 assertThat(mapInt32Enum.isEmpty()).isTrue() 858 859 mapInt32ForeignMessage.putAll( 860 mapOf(1 to foreignMessageLite { c = 1 }, 2 to foreignMessageLite { c = 2 }) 861 ) 862 mapInt32ForeignMessage.clear() 863 assertThat(mapInt32ForeignMessage.isEmpty()).isTrue() 864 } 865 } 866 867 @Test testEvilNamesnull868 fun testEvilNames() { 869 assertThat( 870 evilNamesProto2 { 871 initialized = true 872 hasFoo = true 873 bar = "foo" 874 isInitialized = true 875 fooBar = "foo" 876 aLLCAPS += "foo" 877 aLLCAPSMAP[1] = true 878 hasUnderbarPrecedingNumeric1Foo = true 879 hasUnderbarPrecedingNumeric42Bar = true 880 hasUnderbarPrecedingNumeric123Foo42BarBaz = true 881 extension += "foo" 882 class_ += 1 883 int = 1.0 884 long = true 885 boolean = 1L 886 sealed = "foo" 887 interface_ = 1F 888 object_ = "foo" 889 cachedSize_ = "foo" 890 serializedSize_ = true 891 by = "foo" 892 } 893 ) 894 .isEqualTo( 895 EvilNamesProto2.newBuilder() 896 .setInitialized(true) 897 .setHasFoo(true) 898 .setBar("foo") 899 .setIsInitialized(true) 900 .setFooBar("foo") 901 .addALLCAPS("foo") 902 .putALLCAPSMAP(1, true) 903 .setHasUnderbarPrecedingNumeric1Foo(true) 904 .setHasUnderbarPrecedingNumeric42Bar(true) 905 .setHasUnderbarPrecedingNumeric123Foo42BarBaz(true) 906 .addExtension("foo") 907 .addClass_(1) 908 .setInt(1.0) 909 .setLong(true) 910 .setBoolean(1L) 911 .setSealed("foo") 912 .setInterface(1F) 913 .setObject("foo") 914 .setCachedSize_("foo") 915 .setSerializedSize_(true) 916 .setBy("foo") 917 .build() 918 ) 919 920 assertThat(interface_ {}).isEqualTo(Interface.newBuilder().build()) 921 } 922 923 @Suppress("CheckReturnValue") 924 @Test testHardKeywordGettersAndSettersnull925 fun testHardKeywordGettersAndSetters() { 926 hardKeywordsAllTypesProto2 { 927 as_ = 1 928 assertThat(as_).isEqualTo(1) 929 930 break_ = HardKeywordsAllTypesProto2.NestedEnum.FOO 931 assertThat(break_).isEqualTo(HardKeywordsAllTypesProto2.NestedEnum.FOO) 932 933 do_ = HardKeywordsAllTypesProto2Kt.nestedMessage { while_ = 1 } 934 assertThat(do_).isEqualTo(HardKeywordsAllTypesProto2Kt.nestedMessage { while_ = 1 }) 935 936 continue_[1] = 1 937 assertThat(continue_[1]).isEqualTo(1) 938 939 else_ += 1 940 assertThat(else_).isEqualTo(listOf(1)) 941 942 for_ += "foo" 943 assertThat(for_).isEqualTo(listOf("foo")) 944 945 fun_ += HardKeywordsAllTypesProto2.NestedEnum.FOO 946 assertThat(fun_).isEqualTo(listOf(HardKeywordsAllTypesProto2.NestedEnum.FOO)) 947 948 if_ += HardKeywordsAllTypesProto2Kt.nestedMessage { while_ = 1 } 949 assertThat(if_).isEqualTo(listOf(HardKeywordsAllTypesProto2Kt.nestedMessage { while_ = 1 })) 950 } 951 } 952 953 @Suppress("CheckReturnValue") 954 @Test testHardKeywordHazzersnull955 fun testHardKeywordHazzers() { 956 hardKeywordsAllTypesProto2 { 957 as_ = 1 958 assertThat(hasAs_()).isTrue() 959 960 break_ = HardKeywordsAllTypesProto2.NestedEnum.FOO 961 assertThat(hasBreak_()).isTrue() 962 963 do_ = HardKeywordsAllTypesProto2Kt.nestedMessage { while_ = 1 } 964 assertThat(hasDo_()).isTrue() 965 } 966 } 967 968 @Suppress("CheckReturnValue") 969 @Test testHardKeywordClearsnull970 fun testHardKeywordClears() { 971 hardKeywordsAllTypesProto2 { 972 as_ = 1 973 clearAs_() 974 assertThat(hasAs_()).isFalse() 975 976 break_ = HardKeywordsAllTypesProto2.NestedEnum.FOO 977 clearBreak_() 978 assertThat(hasBreak_()).isFalse() 979 980 do_ = HardKeywordsAllTypesProto2Kt.nestedMessage { while_ = 1 } 981 clearDo_() 982 assertThat(hasDo_()).isFalse() 983 } 984 } 985 } 986