summaryrefslogtreecommitdiff
path: root/java/core/src/test/java/com/google/protobuf/LiteTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/core/src/test/java/com/google/protobuf/LiteTest.java')
-rw-r--r--java/core/src/test/java/com/google/protobuf/LiteTest.java2256
1 files changed, 0 insertions, 2256 deletions
diff --git a/java/core/src/test/java/com/google/protobuf/LiteTest.java b/java/core/src/test/java/com/google/protobuf/LiteTest.java
deleted file mode 100644
index b3a246dc..00000000
--- a/java/core/src/test/java/com/google/protobuf/LiteTest.java
+++ /dev/null
@@ -1,2256 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc. All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package com.google.protobuf;
-
-import static java.util.Collections.emptyList;
-import static java.util.Collections.singletonList;
-
-import com.google.protobuf.UnittestImportLite.ImportEnumLite;
-import com.google.protobuf.UnittestImportPublicLite.PublicImportMessageLite;
-import com.google.protobuf.UnittestLite;
-import com.google.protobuf.UnittestLite.ForeignEnumLite;
-import com.google.protobuf.UnittestLite.ForeignMessageLite;
-import com.google.protobuf.UnittestLite.TestAllExtensionsLite;
-import com.google.protobuf.UnittestLite.TestAllTypesLite;
-import com.google.protobuf.UnittestLite.TestAllTypesLite.NestedEnum;
-import com.google.protobuf.UnittestLite.TestAllTypesLite.NestedMessage;
-import com.google.protobuf.UnittestLite.TestAllTypesLite.OneofFieldCase;
-import com.google.protobuf.UnittestLite.TestAllTypesLite.OptionalGroup;
-import com.google.protobuf.UnittestLite.TestAllTypesLite.RepeatedGroup;
-import com.google.protobuf.UnittestLite.TestAllTypesLiteOrBuilder;
-import com.google.protobuf.UnittestLite.TestNestedExtensionLite;
-import protobuf_unittest.lite_equals_and_hash.LiteEqualsAndHash.Bar;
-import protobuf_unittest.lite_equals_and_hash.LiteEqualsAndHash.BarPrime;
-import protobuf_unittest.lite_equals_and_hash.LiteEqualsAndHash.Foo;
-import protobuf_unittest.lite_equals_and_hash.LiteEqualsAndHash.TestOneofEquals;
-import protobuf_unittest.lite_equals_and_hash.LiteEqualsAndHash.TestRecursiveOneof;
-
-import junit.framework.TestCase;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.NotSerializableException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-
-/**
- * Test lite runtime.
- *
- * @author kenton@google.com Kenton Varda
- */
-public class LiteTest extends TestCase {
- @Override
- public void setUp() throws Exception {
- // Test that nested extensions are initialized correctly even if the outer
- // class has not been accessed directly. This was once a bug with lite
- // messages.
- //
- // We put this in setUp() rather than in its own test method because we
- // need to make sure it runs before any actual tests.
- assertTrue(TestNestedExtensionLite.nestedExtension != null);
- }
-
- public void testLite() throws Exception {
- // Since lite messages are a subset of regular messages, we can mostly
- // assume that the functionality of lite messages is already thoroughly
- // tested by the regular tests. All this test really verifies is that
- // a proto with optimize_for = LITE_RUNTIME compiles correctly when
- // linked only against the lite library. That is all tested at compile
- // time, leaving not much to do in this method. Let's just do some random
- // stuff to make sure the lite message is actually here and usable.
-
- TestAllTypesLite message =
- TestAllTypesLite.newBuilder()
- .setOptionalInt32(123)
- .addRepeatedString("hello")
- .setOptionalNestedMessage(
- TestAllTypesLite.NestedMessage.newBuilder().setBb(7))
- .build();
-
- ByteString data = message.toByteString();
-
- TestAllTypesLite message2 = TestAllTypesLite.parseFrom(data);
-
- assertEquals(123, message2.getOptionalInt32());
- assertEquals(1, message2.getRepeatedStringCount());
- assertEquals("hello", message2.getRepeatedString(0));
- assertEquals(7, message2.getOptionalNestedMessage().getBb());
- }
-
- public void testLiteExtensions() throws Exception {
- // TODO(kenton): Unlike other features of the lite library, extensions are
- // implemented completely differently from the regular library. We
- // should probably test them more thoroughly.
-
- TestAllExtensionsLite message =
- TestAllExtensionsLite.newBuilder()
- .setExtension(UnittestLite.optionalInt32ExtensionLite, 123)
- .addExtension(UnittestLite.repeatedStringExtensionLite, "hello")
- .setExtension(UnittestLite.optionalNestedEnumExtensionLite,
- TestAllTypesLite.NestedEnum.BAZ)
- .setExtension(UnittestLite.optionalNestedMessageExtensionLite,
- TestAllTypesLite.NestedMessage.newBuilder().setBb(7).build())
- .build();
-
- // Test copying a message, since coping extensions actually does use a
- // different code path between lite and regular libraries, and as of this
- // writing, parsing hasn't been implemented yet.
- TestAllExtensionsLite message2 = message.toBuilder().build();
-
- assertEquals(123, (int) message2.getExtension(
- UnittestLite.optionalInt32ExtensionLite));
- assertEquals(1, message2.getExtensionCount(
- UnittestLite.repeatedStringExtensionLite));
- assertEquals(1, message2.getExtension(
- UnittestLite.repeatedStringExtensionLite).size());
- assertEquals("hello", message2.getExtension(
- UnittestLite.repeatedStringExtensionLite, 0));
- assertEquals(TestAllTypesLite.NestedEnum.BAZ, message2.getExtension(
- UnittestLite.optionalNestedEnumExtensionLite));
- assertEquals(7, message2.getExtension(
- UnittestLite.optionalNestedMessageExtensionLite).getBb());
- }
-
-
- public void testClone() {
- TestAllTypesLite.Builder expected = TestAllTypesLite.newBuilder()
- .setOptionalInt32(123);
- assertEquals(
- expected.getOptionalInt32(), expected.clone().getOptionalInt32());
-
- TestAllExtensionsLite.Builder expected2 = TestAllExtensionsLite.newBuilder()
- .setExtension(UnittestLite.optionalInt32ExtensionLite, 123);
- assertEquals(
- expected2.getExtension(UnittestLite.optionalInt32ExtensionLite),
- expected2.clone().getExtension(UnittestLite.optionalInt32ExtensionLite));
- }
-
- public void testAddAll() {
- try {
- TestAllTypesLite.newBuilder()
- .addAllRepeatedBytes(null);
- fail();
- } catch (NullPointerException e) {
- // expected.
- }
- }
-
- public void testSanityCopyOnWrite() throws InvalidProtocolBufferException {
- // Since builders are implemented as a thin wrapper around a message
- // instance, we attempt to verify that we can't cause the builder to modify
- // a produced message.
-
- TestAllTypesLite.Builder builder = TestAllTypesLite.newBuilder();
- TestAllTypesLite message = builder.build();
- TestAllTypesLite messageAfterBuild;
- builder.setOptionalBool(true);
- assertEquals(false, message.getOptionalBool());
- assertEquals(true, builder.getOptionalBool());
- messageAfterBuild = builder.build();
- assertEquals(true, messageAfterBuild.getOptionalBool());
- assertEquals(false, message.getOptionalBool());
- builder.clearOptionalBool();
- assertEquals(false, builder.getOptionalBool());
- assertEquals(true, messageAfterBuild.getOptionalBool());
-
- message = builder.build();
- builder.setOptionalBytes(ByteString.copyFromUtf8("hi"));
- assertEquals(ByteString.EMPTY, message.getOptionalBytes());
- assertEquals(ByteString.copyFromUtf8("hi"), builder.getOptionalBytes());
- messageAfterBuild = builder.build();
- assertEquals(
- ByteString.copyFromUtf8("hi"), messageAfterBuild.getOptionalBytes());
- assertEquals(ByteString.EMPTY, message.getOptionalBytes());
- builder.clearOptionalBytes();
- assertEquals(ByteString.EMPTY, builder.getOptionalBytes());
- assertEquals(
- ByteString.copyFromUtf8("hi"), messageAfterBuild.getOptionalBytes());
-
- message = builder.build();
- builder.setOptionalCord("hi");
- assertEquals("", message.getOptionalCord());
- assertEquals("hi", builder.getOptionalCord());
- messageAfterBuild = builder.build();
- assertEquals("hi", messageAfterBuild.getOptionalCord());
- assertEquals("", message.getOptionalCord());
- builder.clearOptionalCord();
- assertEquals("", builder.getOptionalCord());
- assertEquals("hi", messageAfterBuild.getOptionalCord());
-
- message = builder.build();
- builder.setOptionalCordBytes(ByteString.copyFromUtf8("no"));
- assertEquals(ByteString.EMPTY, message.getOptionalCordBytes());
- assertEquals(ByteString.copyFromUtf8("no"), builder.getOptionalCordBytes());
- messageAfterBuild = builder.build();
- assertEquals(
- ByteString.copyFromUtf8("no"),
- messageAfterBuild.getOptionalCordBytes());
- assertEquals(ByteString.EMPTY, message.getOptionalCordBytes());
- builder.clearOptionalCord();
- assertEquals(ByteString.EMPTY, builder.getOptionalCordBytes());
- assertEquals(
- ByteString.copyFromUtf8("no"),
- messageAfterBuild.getOptionalCordBytes());
-
- message = builder.build();
- builder.setOptionalDouble(1);
- assertEquals(0D, message.getOptionalDouble());
- assertEquals(1D, builder.getOptionalDouble());
- messageAfterBuild = builder.build();
- assertEquals(1D, messageAfterBuild.getOptionalDouble());
- assertEquals(0D, message.getOptionalDouble());
- builder.clearOptionalDouble();
- assertEquals(0D, builder.getOptionalDouble());
- assertEquals(1D, messageAfterBuild.getOptionalDouble());
-
- message = builder.build();
- builder.setOptionalFixed32(1);
- assertEquals(0, message.getOptionalFixed32());
- assertEquals(1, builder.getOptionalFixed32());
- messageAfterBuild = builder.build();
- assertEquals(1, messageAfterBuild.getOptionalFixed32());
- assertEquals(0, message.getOptionalFixed32());
- builder.clearOptionalFixed32();
- assertEquals(0, builder.getOptionalFixed32());
- assertEquals(1, messageAfterBuild.getOptionalFixed32());
-
- message = builder.build();
- builder.setOptionalFixed64(1);
- assertEquals(0L, message.getOptionalFixed64());
- assertEquals(1L, builder.getOptionalFixed64());
- messageAfterBuild = builder.build();
- assertEquals(1L, messageAfterBuild.getOptionalFixed64());
- assertEquals(0L, message.getOptionalFixed64());
- builder.clearOptionalFixed64();
- assertEquals(0L, builder.getOptionalFixed64());
- assertEquals(1L, messageAfterBuild.getOptionalFixed64());
-
- message = builder.build();
- builder.setOptionalFloat(1);
- assertEquals(0F, message.getOptionalFloat());
- assertEquals(1F, builder.getOptionalFloat());
- messageAfterBuild = builder.build();
- assertEquals(1F, messageAfterBuild.getOptionalFloat());
- assertEquals(0F, message.getOptionalFloat());
- builder.clearOptionalFloat();
- assertEquals(0F, builder.getOptionalFloat());
- assertEquals(1F, messageAfterBuild.getOptionalFloat());
-
- message = builder.build();
- builder.setOptionalForeignEnum(ForeignEnumLite.FOREIGN_LITE_BAR);
- assertEquals(
- ForeignEnumLite.FOREIGN_LITE_FOO, message.getOptionalForeignEnum());
- assertEquals(
- ForeignEnumLite.FOREIGN_LITE_BAR, builder.getOptionalForeignEnum());
- messageAfterBuild = builder.build();
- assertEquals(
- ForeignEnumLite.FOREIGN_LITE_BAR,
- messageAfterBuild.getOptionalForeignEnum());
- assertEquals(
- ForeignEnumLite.FOREIGN_LITE_FOO, message.getOptionalForeignEnum());
- builder.clearOptionalForeignEnum();
- assertEquals(
- ForeignEnumLite.FOREIGN_LITE_FOO, builder.getOptionalForeignEnum());
- assertEquals(
- ForeignEnumLite.FOREIGN_LITE_BAR,
- messageAfterBuild.getOptionalForeignEnum());
-
- message = builder.build();
- ForeignMessageLite foreignMessage = ForeignMessageLite.newBuilder()
- .setC(1)
- .build();
- builder.setOptionalForeignMessage(foreignMessage);
- assertEquals(
- ForeignMessageLite.getDefaultInstance(),
- message.getOptionalForeignMessage());
- assertEquals(foreignMessage, builder.getOptionalForeignMessage());
- messageAfterBuild = builder.build();
- assertEquals(foreignMessage, messageAfterBuild.getOptionalForeignMessage());
- assertEquals(
- ForeignMessageLite.getDefaultInstance(),
- message.getOptionalForeignMessage());
- builder.clearOptionalForeignMessage();
- assertEquals(
- ForeignMessageLite.getDefaultInstance(),
- builder.getOptionalForeignMessage());
- assertEquals(foreignMessage, messageAfterBuild.getOptionalForeignMessage());
-
- message = builder.build();
- ForeignMessageLite.Builder foreignMessageBuilder =
- ForeignMessageLite.newBuilder()
- .setC(3);
- builder.setOptionalForeignMessage(foreignMessageBuilder);
- assertEquals(
- ForeignMessageLite.getDefaultInstance(),
- message.getOptionalForeignMessage());
- assertEquals(foreignMessageBuilder.build(), builder.getOptionalForeignMessage());
- messageAfterBuild = builder.build();
- assertEquals(foreignMessageBuilder.build(), messageAfterBuild.getOptionalForeignMessage());
- assertEquals(
- ForeignMessageLite.getDefaultInstance(),
- message.getOptionalForeignMessage());
- builder.clearOptionalForeignMessage();
- assertEquals(
- ForeignMessageLite.getDefaultInstance(),
- builder.getOptionalForeignMessage());
- assertEquals(foreignMessageBuilder.build(), messageAfterBuild.getOptionalForeignMessage());
-
- message = builder.build();
- OptionalGroup optionalGroup = OptionalGroup.newBuilder()
- .setA(1)
- .build();
- builder.setOptionalGroup(optionalGroup);
- assertEquals(
- OptionalGroup.getDefaultInstance(), message.getOptionalGroup());
- assertEquals(optionalGroup, builder.getOptionalGroup());
- messageAfterBuild = builder.build();
- assertEquals(optionalGroup, messageAfterBuild.getOptionalGroup());
- assertEquals(
- OptionalGroup.getDefaultInstance(), message.getOptionalGroup());
- builder.clearOptionalGroup();
- assertEquals(
- OptionalGroup.getDefaultInstance(), builder.getOptionalGroup());
- assertEquals(optionalGroup, messageAfterBuild.getOptionalGroup());
-
- message = builder.build();
- OptionalGroup.Builder optionalGroupBuilder = OptionalGroup.newBuilder()
- .setA(3);
- builder.setOptionalGroup(optionalGroupBuilder);
- assertEquals(
- OptionalGroup.getDefaultInstance(), message.getOptionalGroup());
- assertEquals(optionalGroupBuilder.build(), builder.getOptionalGroup());
- messageAfterBuild = builder.build();
- assertEquals(optionalGroupBuilder.build(), messageAfterBuild.getOptionalGroup());
- assertEquals(
- OptionalGroup.getDefaultInstance(), message.getOptionalGroup());
- builder.clearOptionalGroup();
- assertEquals(
- OptionalGroup.getDefaultInstance(), builder.getOptionalGroup());
- assertEquals(optionalGroupBuilder.build(), messageAfterBuild.getOptionalGroup());
-
- message = builder.build();
- builder.setOptionalInt32(1);
- assertEquals(0, message.getOptionalInt32());
- assertEquals(1, builder.getOptionalInt32());
- messageAfterBuild = builder.build();
- assertEquals(1, messageAfterBuild.getOptionalInt32());
- assertEquals(0, message.getOptionalInt32());
- builder.clearOptionalInt32();
- assertEquals(0, builder.getOptionalInt32());
- assertEquals(1, messageAfterBuild.getOptionalInt32());
-
- message = builder.build();
- builder.setOptionalInt64(1);
- assertEquals(0L, message.getOptionalInt64());
- assertEquals(1L, builder.getOptionalInt64());
- messageAfterBuild = builder.build();
- assertEquals(1L, messageAfterBuild.getOptionalInt64());
- assertEquals(0L, message.getOptionalInt64());
- builder.clearOptionalInt64();
- assertEquals(0L, builder.getOptionalInt64());
- assertEquals(1L, messageAfterBuild.getOptionalInt64());
-
- message = builder.build();
- NestedMessage nestedMessage = NestedMessage.newBuilder()
- .setBb(1)
- .build();
- builder.setOptionalLazyMessage(nestedMessage);
- assertEquals(
- NestedMessage.getDefaultInstance(),
- message.getOptionalLazyMessage());
- assertEquals(nestedMessage, builder.getOptionalLazyMessage());
- messageAfterBuild = builder.build();
- assertEquals(nestedMessage, messageAfterBuild.getOptionalLazyMessage());
- assertEquals(
- NestedMessage.getDefaultInstance(),
- message.getOptionalLazyMessage());
- builder.clearOptionalLazyMessage();
- assertEquals(
- NestedMessage.getDefaultInstance(), builder.getOptionalLazyMessage());
- assertEquals(nestedMessage, messageAfterBuild.getOptionalLazyMessage());
-
- message = builder.build();
- NestedMessage.Builder nestedMessageBuilder =
- NestedMessage.newBuilder()
- .setBb(3);
- builder.setOptionalLazyMessage(nestedMessageBuilder);
- assertEquals(
- NestedMessage.getDefaultInstance(),
- message.getOptionalLazyMessage());
- assertEquals(nestedMessageBuilder.build(), builder.getOptionalLazyMessage());
- messageAfterBuild = builder.build();
- assertEquals(nestedMessageBuilder.build(), messageAfterBuild.getOptionalLazyMessage());
- assertEquals(
- NestedMessage.getDefaultInstance(),
- message.getOptionalLazyMessage());
- builder.clearOptionalLazyMessage();
- assertEquals(
- NestedMessage.getDefaultInstance(), builder.getOptionalLazyMessage());
- assertEquals(nestedMessageBuilder.build(), messageAfterBuild.getOptionalLazyMessage());
-
- message = builder.build();
- builder.setOptionalSfixed32(1);
- assertEquals(0, message.getOptionalSfixed32());
- assertEquals(1, builder.getOptionalSfixed32());
- messageAfterBuild = builder.build();
- assertEquals(1, messageAfterBuild.getOptionalSfixed32());
- assertEquals(0, message.getOptionalSfixed32());
- builder.clearOptionalSfixed32();
- assertEquals(0, builder.getOptionalSfixed32());
- assertEquals(1, messageAfterBuild.getOptionalSfixed32());
-
- message = builder.build();
- builder.setOptionalSfixed64(1);
- assertEquals(0L, message.getOptionalSfixed64());
- assertEquals(1L, builder.getOptionalSfixed64());
- messageAfterBuild = builder.build();
- assertEquals(1L, messageAfterBuild.getOptionalSfixed64());
- assertEquals(0L, message.getOptionalSfixed64());
- builder.clearOptionalSfixed64();
- assertEquals(0L, builder.getOptionalSfixed64());
- assertEquals(1L, messageAfterBuild.getOptionalSfixed64());
-
- message = builder.build();
- builder.setOptionalSint32(1);
- assertEquals(0, message.getOptionalSint32());
- assertEquals(1, builder.getOptionalSint32());
- messageAfterBuild = builder.build();
- assertEquals(1, messageAfterBuild.getOptionalSint32());
- builder.clearOptionalSint32();
- assertEquals(0, builder.getOptionalSint32());
- assertEquals(1, messageAfterBuild.getOptionalSint32());
-
- message = builder.build();
- builder.setOptionalSint64(1);
- assertEquals(0L, message.getOptionalSint64());
- assertEquals(1L, builder.getOptionalSint64());
- messageAfterBuild = builder.build();
- assertEquals(1L, messageAfterBuild.getOptionalSint64());
- assertEquals(0L, message.getOptionalSint64());
- builder.clearOptionalSint64();
- assertEquals(0L, builder.getOptionalSint64());
- assertEquals(1L, messageAfterBuild.getOptionalSint64());
-
- message = builder.build();
- builder.setOptionalString("hi");
- assertEquals("", message.getOptionalString());
- assertEquals("hi", builder.getOptionalString());
- messageAfterBuild = builder.build();
- assertEquals("hi", messageAfterBuild.getOptionalString());
- assertEquals("", message.getOptionalString());
- builder.clearOptionalString();
- assertEquals("", builder.getOptionalString());
- assertEquals("hi", messageAfterBuild.getOptionalString());
-
- message = builder.build();
- builder.setOptionalStringBytes(ByteString.copyFromUtf8("no"));
- assertEquals(ByteString.EMPTY, message.getOptionalStringBytes());
- assertEquals(
- ByteString.copyFromUtf8("no"), builder.getOptionalStringBytes());
- messageAfterBuild = builder.build();
- assertEquals(
- ByteString.copyFromUtf8("no"),
- messageAfterBuild.getOptionalStringBytes());
- assertEquals(ByteString.EMPTY, message.getOptionalStringBytes());
- builder.clearOptionalString();
- assertEquals(ByteString.EMPTY, builder.getOptionalStringBytes());
- assertEquals(
- ByteString.copyFromUtf8("no"),
- messageAfterBuild.getOptionalStringBytes());
-
- message = builder.build();
- builder.setOptionalStringPiece("hi");
- assertEquals("", message.getOptionalStringPiece());
- assertEquals("hi", builder.getOptionalStringPiece());
- messageAfterBuild = builder.build();
- assertEquals("hi", messageAfterBuild.getOptionalStringPiece());
- assertEquals("", message.getOptionalStringPiece());
- builder.clearOptionalStringPiece();
- assertEquals("", builder.getOptionalStringPiece());
- assertEquals("hi", messageAfterBuild.getOptionalStringPiece());
-
- message = builder.build();
- builder.setOptionalStringPieceBytes(ByteString.copyFromUtf8("no"));
- assertEquals(ByteString.EMPTY, message.getOptionalStringPieceBytes());
- assertEquals(
- ByteString.copyFromUtf8("no"), builder.getOptionalStringPieceBytes());
- messageAfterBuild = builder.build();
- assertEquals(
- ByteString.copyFromUtf8("no"),
- messageAfterBuild.getOptionalStringPieceBytes());
- assertEquals(ByteString.EMPTY, message.getOptionalStringPieceBytes());
- builder.clearOptionalStringPiece();
- assertEquals(ByteString.EMPTY, builder.getOptionalStringPieceBytes());
- assertEquals(
- ByteString.copyFromUtf8("no"),
- messageAfterBuild.getOptionalStringPieceBytes());
-
- message = builder.build();
- builder.setOptionalUint32(1);
- assertEquals(0, message.getOptionalUint32());
- assertEquals(1, builder.getOptionalUint32());
- messageAfterBuild = builder.build();
- assertEquals(1, messageAfterBuild.getOptionalUint32());
- assertEquals(0, message.getOptionalUint32());
- builder.clearOptionalUint32();
- assertEquals(0, builder.getOptionalUint32());
- assertEquals(1, messageAfterBuild.getOptionalUint32());
-
- message = builder.build();
- builder.setOptionalUint64(1);
- assertEquals(0L, message.getOptionalUint64());
- assertEquals(1L, builder.getOptionalUint64());
- messageAfterBuild = builder.build();
- assertEquals(1L, messageAfterBuild.getOptionalUint64());
- assertEquals(0L, message.getOptionalUint64());
- builder.clearOptionalUint64();
- assertEquals(0L, builder.getOptionalUint64());
- assertEquals(1L, messageAfterBuild.getOptionalUint64());
-
- message = builder.build();
- builder.addAllRepeatedBool(singletonList(true));
- assertEquals(emptyList(), message.getRepeatedBoolList());
- assertEquals(singletonList(true), builder.getRepeatedBoolList());
- assertEquals(emptyList(), message.getRepeatedBoolList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedBool();
- assertEquals(emptyList(), builder.getRepeatedBoolList());
- assertEquals(singletonList(true), messageAfterBuild.getRepeatedBoolList());
-
- message = builder.build();
- builder.addAllRepeatedBytes(singletonList(ByteString.copyFromUtf8("hi")));
- assertEquals(emptyList(), message.getRepeatedBytesList());
- assertEquals(
- singletonList(ByteString.copyFromUtf8("hi")),
- builder.getRepeatedBytesList());
- assertEquals(emptyList(), message.getRepeatedBytesList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedBytes();
- assertEquals(emptyList(), builder.getRepeatedBytesList());
- assertEquals(
- singletonList(ByteString.copyFromUtf8("hi")),
- messageAfterBuild.getRepeatedBytesList());
-
- message = builder.build();
- builder.addAllRepeatedCord(singletonList("hi"));
- assertEquals(emptyList(), message.getRepeatedCordList());
- assertEquals(singletonList("hi"), builder.getRepeatedCordList());
- assertEquals(emptyList(), message.getRepeatedCordList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedCord();
- assertEquals(emptyList(), builder.getRepeatedCordList());
- assertEquals(singletonList("hi"), messageAfterBuild.getRepeatedCordList());
-
- message = builder.build();
- builder.addAllRepeatedDouble(singletonList(1D));
- assertEquals(emptyList(), message.getRepeatedDoubleList());
- assertEquals(singletonList(1D), builder.getRepeatedDoubleList());
- assertEquals(emptyList(), message.getRepeatedDoubleList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedDouble();
- assertEquals(emptyList(), builder.getRepeatedDoubleList());
- assertEquals(singletonList(1D), messageAfterBuild.getRepeatedDoubleList());
-
- message = builder.build();
- builder.addAllRepeatedFixed32(singletonList(1));
- assertEquals(emptyList(), message.getRepeatedFixed32List());
- assertEquals(singletonList(1), builder.getRepeatedFixed32List());
- assertEquals(emptyList(), message.getRepeatedFixed32List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedFixed32();
- assertEquals(emptyList(), builder.getRepeatedFixed32List());
- assertEquals(singletonList(1), messageAfterBuild.getRepeatedFixed32List());
-
- message = builder.build();
- builder.addAllRepeatedFixed64(singletonList(1L));
- assertEquals(emptyList(), message.getRepeatedFixed64List());
- assertEquals(singletonList(1L), builder.getRepeatedFixed64List());
- assertEquals(emptyList(), message.getRepeatedFixed64List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedFixed64();
- assertEquals(emptyList(), builder.getRepeatedFixed64List());
- assertEquals(singletonList(1L), messageAfterBuild.getRepeatedFixed64List());
-
- message = builder.build();
- builder.addAllRepeatedFloat(singletonList(1F));
- assertEquals(emptyList(), message.getRepeatedFloatList());
- assertEquals(singletonList(1F), builder.getRepeatedFloatList());
- assertEquals(emptyList(), message.getRepeatedFloatList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedFloat();
- assertEquals(emptyList(), builder.getRepeatedFloatList());
- assertEquals(singletonList(1F), messageAfterBuild.getRepeatedFloatList());
-
- message = builder.build();
- builder.addAllRepeatedForeignEnum(
- singletonList(ForeignEnumLite.FOREIGN_LITE_BAR));
- assertEquals(emptyList(), message.getRepeatedForeignEnumList());
- assertEquals(
- singletonList(ForeignEnumLite.FOREIGN_LITE_BAR),
- builder.getRepeatedForeignEnumList());
- assertEquals(emptyList(), message.getRepeatedForeignEnumList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedForeignEnum();
- assertEquals(emptyList(), builder.getRepeatedForeignEnumList());
- assertEquals(
- singletonList(ForeignEnumLite.FOREIGN_LITE_BAR),
- messageAfterBuild.getRepeatedForeignEnumList());
-
- message = builder.build();
- builder.addAllRepeatedForeignMessage(singletonList(foreignMessage));
- assertEquals(emptyList(), message.getRepeatedForeignMessageList());
- assertEquals(
- singletonList(foreignMessage), builder.getRepeatedForeignMessageList());
- assertEquals(emptyList(), message.getRepeatedForeignMessageList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedForeignMessage();
- assertEquals(emptyList(), builder.getRepeatedForeignMessageList());
- assertEquals(
- singletonList(foreignMessage),
- messageAfterBuild.getRepeatedForeignMessageList());
-
- message = builder.build();
- builder.addAllRepeatedGroup(
- singletonList(RepeatedGroup.getDefaultInstance()));
- assertEquals(emptyList(), message.getRepeatedGroupList());
- assertEquals(
- singletonList(RepeatedGroup.getDefaultInstance()),
- builder.getRepeatedGroupList());
- assertEquals(emptyList(), message.getRepeatedGroupList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedGroup();
- assertEquals(emptyList(), builder.getRepeatedGroupList());
- assertEquals(
- singletonList(RepeatedGroup.getDefaultInstance()),
- messageAfterBuild.getRepeatedGroupList());
-
- message = builder.build();
- builder.addAllRepeatedInt32(singletonList(1));
- assertEquals(emptyList(), message.getRepeatedInt32List());
- assertEquals(singletonList(1), builder.getRepeatedInt32List());
- assertEquals(emptyList(), message.getRepeatedInt32List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedInt32();
- assertEquals(emptyList(), builder.getRepeatedInt32List());
- assertEquals(singletonList(1), messageAfterBuild.getRepeatedInt32List());
-
- message = builder.build();
- builder.addAllRepeatedInt64(singletonList(1L));
- assertEquals(emptyList(), message.getRepeatedInt64List());
- assertEquals(singletonList(1L), builder.getRepeatedInt64List());
- assertEquals(emptyList(), message.getRepeatedInt64List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedInt64();
- assertEquals(emptyList(), builder.getRepeatedInt64List());
- assertEquals(singletonList(1L), messageAfterBuild.getRepeatedInt64List());
-
- message = builder.build();
- builder.addAllRepeatedLazyMessage(singletonList(nestedMessage));
- assertEquals(emptyList(), message.getRepeatedLazyMessageList());
- assertEquals(
- singletonList(nestedMessage), builder.getRepeatedLazyMessageList());
- assertEquals(emptyList(), message.getRepeatedLazyMessageList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedLazyMessage();
- assertEquals(emptyList(), builder.getRepeatedLazyMessageList());
- assertEquals(
- singletonList(nestedMessage),
- messageAfterBuild.getRepeatedLazyMessageList());
-
- message = builder.build();
- builder.addAllRepeatedSfixed32(singletonList(1));
- assertEquals(emptyList(), message.getRepeatedSfixed32List());
- assertEquals(singletonList(1), builder.getRepeatedSfixed32List());
- assertEquals(emptyList(), message.getRepeatedSfixed32List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedSfixed32();
- assertEquals(emptyList(), builder.getRepeatedSfixed32List());
- assertEquals(singletonList(1), messageAfterBuild.getRepeatedSfixed32List());
-
- message = builder.build();
- builder.addAllRepeatedSfixed64(singletonList(1L));
- assertEquals(emptyList(), message.getRepeatedSfixed64List());
- assertEquals(singletonList(1L), builder.getRepeatedSfixed64List());
- assertEquals(emptyList(), message.getRepeatedSfixed64List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedSfixed64();
- assertEquals(emptyList(), builder.getRepeatedSfixed64List());
- assertEquals(
- singletonList(1L), messageAfterBuild.getRepeatedSfixed64List());
-
- message = builder.build();
- builder.addAllRepeatedSint32(singletonList(1));
- assertEquals(emptyList(), message.getRepeatedSint32List());
- assertEquals(singletonList(1), builder.getRepeatedSint32List());
- assertEquals(emptyList(), message.getRepeatedSint32List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedSint32();
- assertEquals(emptyList(), builder.getRepeatedSint32List());
- assertEquals(singletonList(1), messageAfterBuild.getRepeatedSint32List());
-
- message = builder.build();
- builder.addAllRepeatedSint64(singletonList(1L));
- assertEquals(emptyList(), message.getRepeatedSint64List());
- assertEquals(singletonList(1L), builder.getRepeatedSint64List());
- assertEquals(emptyList(), message.getRepeatedSint64List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedSint64();
- assertEquals(emptyList(), builder.getRepeatedSint64List());
- assertEquals(singletonList(1L), messageAfterBuild.getRepeatedSint64List());
-
- message = builder.build();
- builder.addAllRepeatedString(singletonList("hi"));
- assertEquals(emptyList(), message.getRepeatedStringList());
- assertEquals(singletonList("hi"), builder.getRepeatedStringList());
- assertEquals(emptyList(), message.getRepeatedStringList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedString();
- assertEquals(emptyList(), builder.getRepeatedStringList());
- assertEquals(
- singletonList("hi"), messageAfterBuild.getRepeatedStringList());
-
- message = builder.build();
- builder.addAllRepeatedStringPiece(singletonList("hi"));
- assertEquals(emptyList(), message.getRepeatedStringPieceList());
- assertEquals(singletonList("hi"), builder.getRepeatedStringPieceList());
- assertEquals(emptyList(), message.getRepeatedStringPieceList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedStringPiece();
- assertEquals(emptyList(), builder.getRepeatedStringPieceList());
- assertEquals(
- singletonList("hi"), messageAfterBuild.getRepeatedStringPieceList());
-
- message = builder.build();
- builder.addAllRepeatedUint32(singletonList(1));
- assertEquals(emptyList(), message.getRepeatedUint32List());
- assertEquals(singletonList(1), builder.getRepeatedUint32List());
- assertEquals(emptyList(), message.getRepeatedUint32List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedUint32();
- assertEquals(emptyList(), builder.getRepeatedUint32List());
- assertEquals(singletonList(1), messageAfterBuild.getRepeatedUint32List());
-
- message = builder.build();
- builder.addAllRepeatedUint64(singletonList(1L));
- assertEquals(emptyList(), message.getRepeatedUint64List());
- assertEquals(singletonList(1L), builder.getRepeatedUint64List());
- assertEquals(emptyList(), message.getRepeatedUint64List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedUint64();
- assertEquals(emptyList(), builder.getRepeatedUint64List());
- assertEquals(singletonList(1L), messageAfterBuild.getRepeatedUint64List());
-
- message = builder.build();
- builder.addRepeatedBool(true);
- assertEquals(emptyList(), message.getRepeatedBoolList());
- assertEquals(singletonList(true), builder.getRepeatedBoolList());
- assertEquals(emptyList(), message.getRepeatedBoolList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedBool();
- assertEquals(emptyList(), builder.getRepeatedBoolList());
- assertEquals(singletonList(true), messageAfterBuild.getRepeatedBoolList());
-
- message = builder.build();
- builder.addRepeatedBytes(ByteString.copyFromUtf8("hi"));
- assertEquals(emptyList(), message.getRepeatedBytesList());
- assertEquals(
- singletonList(ByteString.copyFromUtf8("hi")),
- builder.getRepeatedBytesList());
- assertEquals(emptyList(), message.getRepeatedBytesList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedBytes();
- assertEquals(emptyList(), builder.getRepeatedBytesList());
- assertEquals(
- singletonList(ByteString.copyFromUtf8("hi")),
- messageAfterBuild.getRepeatedBytesList());
-
- message = builder.build();
- builder.addRepeatedCord("hi");
- assertEquals(emptyList(), message.getRepeatedCordList());
- assertEquals(singletonList("hi"), builder.getRepeatedCordList());
- assertEquals(emptyList(), message.getRepeatedCordList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedCord();
- assertEquals(emptyList(), builder.getRepeatedCordList());
- assertEquals(singletonList("hi"), messageAfterBuild.getRepeatedCordList());
-
- message = builder.build();
- builder.addRepeatedDouble(1D);
- assertEquals(emptyList(), message.getRepeatedDoubleList());
- assertEquals(singletonList(1D), builder.getRepeatedDoubleList());
- assertEquals(emptyList(), message.getRepeatedDoubleList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedDouble();
- assertEquals(emptyList(), builder.getRepeatedDoubleList());
- assertEquals(singletonList(1D), messageAfterBuild.getRepeatedDoubleList());
-
- message = builder.build();
- builder.addRepeatedFixed32(1);
- assertEquals(emptyList(), message.getRepeatedFixed32List());
- assertEquals(singletonList(1), builder.getRepeatedFixed32List());
- assertEquals(emptyList(), message.getRepeatedFixed32List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedFixed32();
- assertEquals(emptyList(), builder.getRepeatedFixed32List());
- assertEquals(singletonList(1), messageAfterBuild.getRepeatedFixed32List());
-
- message = builder.build();
- builder.addRepeatedFixed64(1L);
- assertEquals(emptyList(), message.getRepeatedFixed64List());
- assertEquals(singletonList(1L), builder.getRepeatedFixed64List());
- assertEquals(emptyList(), message.getRepeatedFixed64List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedFixed64();
- assertEquals(emptyList(), builder.getRepeatedFixed64List());
- assertEquals(singletonList(1L), messageAfterBuild.getRepeatedFixed64List());
-
- message = builder.build();
- builder.addRepeatedFloat(1F);
- assertEquals(emptyList(), message.getRepeatedFloatList());
- assertEquals(singletonList(1F), builder.getRepeatedFloatList());
- assertEquals(emptyList(), message.getRepeatedFloatList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedFloat();
- assertEquals(emptyList(), builder.getRepeatedFloatList());
- assertEquals(singletonList(1F), messageAfterBuild.getRepeatedFloatList());
-
- message = builder.build();
- builder.addRepeatedForeignEnum(ForeignEnumLite.FOREIGN_LITE_BAR);
- assertEquals(emptyList(), message.getRepeatedForeignEnumList());
- assertEquals(
- singletonList(ForeignEnumLite.FOREIGN_LITE_BAR),
- builder.getRepeatedForeignEnumList());
- assertEquals(emptyList(), message.getRepeatedForeignEnumList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedForeignEnum();
- assertEquals(emptyList(), builder.getRepeatedForeignEnumList());
- assertEquals(
- singletonList(ForeignEnumLite.FOREIGN_LITE_BAR),
- messageAfterBuild.getRepeatedForeignEnumList());
-
- message = builder.build();
- builder.addRepeatedForeignMessage(foreignMessage);
- assertEquals(emptyList(), message.getRepeatedForeignMessageList());
- assertEquals(
- singletonList(foreignMessage), builder.getRepeatedForeignMessageList());
- assertEquals(emptyList(), message.getRepeatedForeignMessageList());
- messageAfterBuild = builder.build();
- builder.removeRepeatedForeignMessage(0);
- assertEquals(emptyList(), builder.getRepeatedForeignMessageList());
- assertEquals(
- singletonList(foreignMessage),
- messageAfterBuild.getRepeatedForeignMessageList());
-
- message = builder.build();
- builder.addRepeatedGroup(RepeatedGroup.getDefaultInstance());
- assertEquals(emptyList(), message.getRepeatedGroupList());
- assertEquals(
- singletonList(RepeatedGroup.getDefaultInstance()),
- builder.getRepeatedGroupList());
- assertEquals(emptyList(), message.getRepeatedGroupList());
- messageAfterBuild = builder.build();
- builder.removeRepeatedGroup(0);
- assertEquals(emptyList(), builder.getRepeatedGroupList());
- assertEquals(
- singletonList(RepeatedGroup.getDefaultInstance()),
- messageAfterBuild.getRepeatedGroupList());
-
- message = builder.build();
- builder.addRepeatedInt32(1);
- assertEquals(emptyList(), message.getRepeatedInt32List());
- assertEquals(singletonList(1), builder.getRepeatedInt32List());
- assertEquals(emptyList(), message.getRepeatedInt32List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedInt32();
- assertEquals(emptyList(), builder.getRepeatedInt32List());
- assertEquals(singletonList(1), messageAfterBuild.getRepeatedInt32List());
-
- message = builder.build();
- builder.addRepeatedInt64(1L);
- assertEquals(emptyList(), message.getRepeatedInt64List());
- assertEquals(singletonList(1L), builder.getRepeatedInt64List());
- assertEquals(emptyList(), message.getRepeatedInt64List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedInt64();
- assertEquals(emptyList(), builder.getRepeatedInt64List());
- assertEquals(singletonList(1L), messageAfterBuild.getRepeatedInt64List());
-
- message = builder.build();
- builder.addRepeatedLazyMessage(nestedMessage);
- assertEquals(emptyList(), message.getRepeatedLazyMessageList());
- assertEquals(
- singletonList(nestedMessage), builder.getRepeatedLazyMessageList());
- assertEquals(emptyList(), message.getRepeatedLazyMessageList());
- messageAfterBuild = builder.build();
- builder.removeRepeatedLazyMessage(0);
- assertEquals(emptyList(), builder.getRepeatedLazyMessageList());
- assertEquals(
- singletonList(nestedMessage),
- messageAfterBuild.getRepeatedLazyMessageList());
-
- message = builder.build();
- builder.addRepeatedSfixed32(1);
- assertEquals(emptyList(), message.getRepeatedSfixed32List());
- assertEquals(singletonList(1), builder.getRepeatedSfixed32List());
- assertEquals(emptyList(), message.getRepeatedSfixed32List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedSfixed32();
- assertEquals(emptyList(), builder.getRepeatedSfixed32List());
- assertEquals(singletonList(1), messageAfterBuild.getRepeatedSfixed32List());
-
- message = builder.build();
- builder.addRepeatedSfixed64(1L);
- assertEquals(emptyList(), message.getRepeatedSfixed64List());
- assertEquals(singletonList(1L), builder.getRepeatedSfixed64List());
- assertEquals(emptyList(), message.getRepeatedSfixed64List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedSfixed64();
- assertEquals(emptyList(), builder.getRepeatedSfixed64List());
- assertEquals(
- singletonList(1L), messageAfterBuild.getRepeatedSfixed64List());
-
- message = builder.build();
- builder.addRepeatedSint32(1);
- assertEquals(emptyList(), message.getRepeatedSint32List());
- assertEquals(singletonList(1), builder.getRepeatedSint32List());
- assertEquals(emptyList(), message.getRepeatedSint32List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedSint32();
- assertEquals(emptyList(), builder.getRepeatedSint32List());
- assertEquals(singletonList(1), messageAfterBuild.getRepeatedSint32List());
-
- message = builder.build();
- builder.addRepeatedSint64(1L);
- assertEquals(emptyList(), message.getRepeatedSint64List());
- assertEquals(singletonList(1L), builder.getRepeatedSint64List());
- assertEquals(emptyList(), message.getRepeatedSint64List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedSint64();
- assertEquals(emptyList(), builder.getRepeatedSint64List());
- assertEquals(singletonList(1L), messageAfterBuild.getRepeatedSint64List());
-
- message = builder.build();
- builder.addRepeatedString("hi");
- assertEquals(emptyList(), message.getRepeatedStringList());
- assertEquals(singletonList("hi"), builder.getRepeatedStringList());
- assertEquals(emptyList(), message.getRepeatedStringList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedString();
- assertEquals(emptyList(), builder.getRepeatedStringList());
- assertEquals(
- singletonList("hi"), messageAfterBuild.getRepeatedStringList());
-
- message = builder.build();
- builder.addRepeatedStringPiece("hi");
- assertEquals(emptyList(), message.getRepeatedStringPieceList());
- assertEquals(singletonList("hi"), builder.getRepeatedStringPieceList());
- assertEquals(emptyList(), message.getRepeatedStringPieceList());
- messageAfterBuild = builder.build();
- builder.clearRepeatedStringPiece();
- assertEquals(emptyList(), builder.getRepeatedStringPieceList());
- assertEquals(
- singletonList("hi"), messageAfterBuild.getRepeatedStringPieceList());
-
- message = builder.build();
- builder.addRepeatedUint32(1);
- assertEquals(emptyList(), message.getRepeatedUint32List());
- assertEquals(singletonList(1), builder.getRepeatedUint32List());
- assertEquals(emptyList(), message.getRepeatedUint32List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedUint32();
- assertEquals(emptyList(), builder.getRepeatedUint32List());
- assertEquals(singletonList(1), messageAfterBuild.getRepeatedUint32List());
-
- message = builder.build();
- builder.addRepeatedUint64(1L);
- assertEquals(emptyList(), message.getRepeatedUint64List());
- assertEquals(singletonList(1L), builder.getRepeatedUint64List());
- assertEquals(emptyList(), message.getRepeatedUint64List());
- messageAfterBuild = builder.build();
- builder.clearRepeatedUint64();
- assertEquals(emptyList(), builder.getRepeatedUint64List());
- assertEquals(singletonList(1L), messageAfterBuild.getRepeatedUint64List());
-
- message = builder.build();
- builder.addRepeatedBool(true);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedBoolCount());
- builder.setRepeatedBool(0, false);
- assertEquals(true, messageAfterBuild.getRepeatedBool(0));
- assertEquals(false, builder.getRepeatedBool(0));
- builder.clearRepeatedBool();
-
- message = builder.build();
- builder.addRepeatedBytes(ByteString.copyFromUtf8("hi"));
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedBytesCount());
- builder.setRepeatedBytes(0, ByteString.EMPTY);
- assertEquals(
- ByteString.copyFromUtf8("hi"), messageAfterBuild.getRepeatedBytes(0));
- assertEquals(ByteString.EMPTY, builder.getRepeatedBytes(0));
- builder.clearRepeatedBytes();
-
- message = builder.build();
- builder.addRepeatedCord("hi");
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedCordCount());
- builder.setRepeatedCord(0, "");
- assertEquals("hi", messageAfterBuild.getRepeatedCord(0));
- assertEquals("", builder.getRepeatedCord(0));
- builder.clearRepeatedCord();
- message = builder.build();
-
- builder.addRepeatedCordBytes(ByteString.copyFromUtf8("hi"));
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedCordCount());
- builder.setRepeatedCord(0, "");
- assertEquals(
- ByteString.copyFromUtf8("hi"), messageAfterBuild.getRepeatedCordBytes(0));
- assertEquals(ByteString.EMPTY, builder.getRepeatedCordBytes(0));
- builder.clearRepeatedCord();
-
- message = builder.build();
- builder.addRepeatedDouble(1D);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedDoubleCount());
- builder.setRepeatedDouble(0, 0D);
- assertEquals(1D, messageAfterBuild.getRepeatedDouble(0));
- assertEquals(0D, builder.getRepeatedDouble(0));
- builder.clearRepeatedDouble();
-
- message = builder.build();
- builder.addRepeatedFixed32(1);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedFixed32Count());
- builder.setRepeatedFixed32(0, 0);
- assertEquals(1, messageAfterBuild.getRepeatedFixed32(0));
- assertEquals(0, builder.getRepeatedFixed32(0));
- builder.clearRepeatedFixed32();
-
- message = builder.build();
- builder.addRepeatedFixed64(1L);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedFixed64Count());
- builder.setRepeatedFixed64(0, 0L);
- assertEquals(1L, messageAfterBuild.getRepeatedFixed64(0));
- assertEquals(0L, builder.getRepeatedFixed64(0));
- builder.clearRepeatedFixed64();
-
- message = builder.build();
- builder.addRepeatedFloat(1F);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedFloatCount());
- builder.setRepeatedFloat(0, 0F);
- assertEquals(1F, messageAfterBuild.getRepeatedFloat(0));
- assertEquals(0F, builder.getRepeatedFloat(0));
- builder.clearRepeatedFloat();
-
- message = builder.build();
- builder.addRepeatedForeignEnum(ForeignEnumLite.FOREIGN_LITE_BAR);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedForeignEnumCount());
- builder.setRepeatedForeignEnum(0, ForeignEnumLite.FOREIGN_LITE_FOO);
- assertEquals(
- ForeignEnumLite.FOREIGN_LITE_BAR,
- messageAfterBuild.getRepeatedForeignEnum(0));
- assertEquals(
- ForeignEnumLite.FOREIGN_LITE_FOO, builder.getRepeatedForeignEnum(0));
- builder.clearRepeatedForeignEnum();
-
- message = builder.build();
- builder.addRepeatedForeignMessage(foreignMessage);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedForeignMessageCount());
- builder.setRepeatedForeignMessage(
- 0, ForeignMessageLite.getDefaultInstance());
- assertEquals(
- foreignMessage, messageAfterBuild.getRepeatedForeignMessage(0));
- assertEquals(
- ForeignMessageLite.getDefaultInstance(),
- builder.getRepeatedForeignMessage(0));
- builder.clearRepeatedForeignMessage();
-
- message = builder.build();
- builder.addRepeatedForeignMessage(foreignMessageBuilder);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedForeignMessageCount());
- builder.setRepeatedForeignMessage(
- 0, ForeignMessageLite.getDefaultInstance());
- assertEquals(foreignMessageBuilder.build(), messageAfterBuild.getRepeatedForeignMessage(0));
- assertEquals(
- ForeignMessageLite.getDefaultInstance(),
- builder.getRepeatedForeignMessage(0));
- builder.clearRepeatedForeignMessage();
-
- message = builder.build();
- builder.addRepeatedForeignMessage(0, foreignMessage);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedForeignMessageCount());
- builder.setRepeatedForeignMessage(0, foreignMessageBuilder);
- assertEquals(
- foreignMessage, messageAfterBuild.getRepeatedForeignMessage(0));
- assertEquals(foreignMessageBuilder.build(), builder.getRepeatedForeignMessage(0));
- builder.clearRepeatedForeignMessage();
-
- message = builder.build();
- RepeatedGroup repeatedGroup = RepeatedGroup.newBuilder()
- .setA(1)
- .build();
- builder.addRepeatedGroup(repeatedGroup);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedGroupCount());
- builder.setRepeatedGroup(0, RepeatedGroup.getDefaultInstance());
- assertEquals(repeatedGroup, messageAfterBuild.getRepeatedGroup(0));
- assertEquals(
- RepeatedGroup.getDefaultInstance(), builder.getRepeatedGroup(0));
- builder.clearRepeatedGroup();
-
- message = builder.build();
- builder.addRepeatedGroup(0, repeatedGroup);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedGroupCount());
- builder.setRepeatedGroup(0, RepeatedGroup.getDefaultInstance());
- assertEquals(repeatedGroup, messageAfterBuild.getRepeatedGroup(0));
- assertEquals(
- RepeatedGroup.getDefaultInstance(), builder.getRepeatedGroup(0));
- builder.clearRepeatedGroup();
-
- message = builder.build();
- RepeatedGroup.Builder repeatedGroupBuilder = RepeatedGroup.newBuilder()
- .setA(3);
- builder.addRepeatedGroup(repeatedGroupBuilder);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedGroupCount());
- builder.setRepeatedGroup(0, RepeatedGroup.getDefaultInstance());
- assertEquals(repeatedGroupBuilder.build(), messageAfterBuild.getRepeatedGroup(0));
- assertEquals(
- RepeatedGroup.getDefaultInstance(), builder.getRepeatedGroup(0));
- builder.clearRepeatedGroup();
-
- message = builder.build();
- builder.addRepeatedGroup(0, repeatedGroupBuilder);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedGroupCount());
- builder.setRepeatedGroup(0, RepeatedGroup.getDefaultInstance());
- assertEquals(repeatedGroupBuilder.build(), messageAfterBuild.getRepeatedGroup(0));
- assertEquals(
- RepeatedGroup.getDefaultInstance(), builder.getRepeatedGroup(0));
- builder.clearRepeatedGroup();
-
- message = builder.build();
- builder.addRepeatedInt32(1);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedInt32Count());
- builder.setRepeatedInt32(0, 0);
- assertEquals(1, messageAfterBuild.getRepeatedInt32(0));
- assertEquals(0, builder.getRepeatedInt32(0));
- builder.clearRepeatedInt32();
-
- message = builder.build();
- builder.addRepeatedInt64(1L);
- messageAfterBuild = builder.build();
- assertEquals(0L, message.getRepeatedInt64Count());
- builder.setRepeatedInt64(0, 0L);
- assertEquals(1L, messageAfterBuild.getRepeatedInt64(0));
- assertEquals(0L, builder.getRepeatedInt64(0));
- builder.clearRepeatedInt64();
-
- message = builder.build();
- builder.addRepeatedLazyMessage(nestedMessage);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedLazyMessageCount());
- builder.setRepeatedLazyMessage(0, NestedMessage.getDefaultInstance());
- assertEquals(nestedMessage, messageAfterBuild.getRepeatedLazyMessage(0));
- assertEquals(
- NestedMessage.getDefaultInstance(), builder.getRepeatedLazyMessage(0));
- builder.clearRepeatedLazyMessage();
-
- message = builder.build();
- builder.addRepeatedLazyMessage(0, nestedMessage);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedLazyMessageCount());
- builder.setRepeatedLazyMessage(0, NestedMessage.getDefaultInstance());
- assertEquals(nestedMessage, messageAfterBuild.getRepeatedLazyMessage(0));
- assertEquals(
- NestedMessage.getDefaultInstance(), builder.getRepeatedLazyMessage(0));
- builder.clearRepeatedLazyMessage();
-
- message = builder.build();
- builder.addRepeatedLazyMessage(nestedMessageBuilder);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedLazyMessageCount());
- builder.setRepeatedLazyMessage(0, NestedMessage.getDefaultInstance());
- assertEquals(nestedMessageBuilder.build(), messageAfterBuild.getRepeatedLazyMessage(0));
- assertEquals(
- NestedMessage.getDefaultInstance(), builder.getRepeatedLazyMessage(0));
- builder.clearRepeatedLazyMessage();
-
- message = builder.build();
- builder.addRepeatedLazyMessage(0, nestedMessageBuilder);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedLazyMessageCount());
- builder.setRepeatedLazyMessage(0, NestedMessage.getDefaultInstance());
- assertEquals(nestedMessageBuilder.build(), messageAfterBuild.getRepeatedLazyMessage(0));
- assertEquals(
- NestedMessage.getDefaultInstance(), builder.getRepeatedLazyMessage(0));
- builder.clearRepeatedLazyMessage();
-
- message = builder.build();
- builder.addRepeatedSfixed32(1);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedSfixed32Count());
- builder.setRepeatedSfixed32(0, 0);
- assertEquals(1, messageAfterBuild.getRepeatedSfixed32(0));
- assertEquals(0, builder.getRepeatedSfixed32(0));
- builder.clearRepeatedSfixed32();
-
- message = builder.build();
- builder.addRepeatedSfixed64(1L);
- messageAfterBuild = builder.build();
- assertEquals(0L, message.getRepeatedSfixed64Count());
- builder.setRepeatedSfixed64(0, 0L);
- assertEquals(1L, messageAfterBuild.getRepeatedSfixed64(0));
- assertEquals(0L, builder.getRepeatedSfixed64(0));
- builder.clearRepeatedSfixed64();
-
- message = builder.build();
- builder.addRepeatedSint32(1);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedSint32Count());
- builder.setRepeatedSint32(0, 0);
- assertEquals(1, messageAfterBuild.getRepeatedSint32(0));
- assertEquals(0, builder.getRepeatedSint32(0));
- builder.clearRepeatedSint32();
-
- message = builder.build();
- builder.addRepeatedSint64(1L);
- messageAfterBuild = builder.build();
- assertEquals(0L, message.getRepeatedSint64Count());
- builder.setRepeatedSint64(0, 0L);
- assertEquals(1L, messageAfterBuild.getRepeatedSint64(0));
- assertEquals(0L, builder.getRepeatedSint64(0));
- builder.clearRepeatedSint64();
-
- message = builder.build();
- builder.addRepeatedString("hi");
- messageAfterBuild = builder.build();
- assertEquals(0L, message.getRepeatedStringCount());
- builder.setRepeatedString(0, "");
- assertEquals("hi", messageAfterBuild.getRepeatedString(0));
- assertEquals("", builder.getRepeatedString(0));
- builder.clearRepeatedString();
-
- message = builder.build();
- builder.addRepeatedStringBytes(ByteString.copyFromUtf8("hi"));
- messageAfterBuild = builder.build();
- assertEquals(0L, message.getRepeatedStringCount());
- builder.setRepeatedString(0, "");
- assertEquals(
- ByteString.copyFromUtf8("hi"),
- messageAfterBuild.getRepeatedStringBytes(0));
- assertEquals(ByteString.EMPTY, builder.getRepeatedStringBytes(0));
- builder.clearRepeatedString();
-
- message = builder.build();
- builder.addRepeatedStringPiece("hi");
- messageAfterBuild = builder.build();
- assertEquals(0L, message.getRepeatedStringPieceCount());
- builder.setRepeatedStringPiece(0, "");
- assertEquals("hi", messageAfterBuild.getRepeatedStringPiece(0));
- assertEquals("", builder.getRepeatedStringPiece(0));
- builder.clearRepeatedStringPiece();
-
- message = builder.build();
- builder.addRepeatedStringPieceBytes(ByteString.copyFromUtf8("hi"));
- messageAfterBuild = builder.build();
- assertEquals(0L, message.getRepeatedStringPieceCount());
- builder.setRepeatedStringPiece(0, "");
- assertEquals(
- ByteString.copyFromUtf8("hi"),
- messageAfterBuild.getRepeatedStringPieceBytes(0));
- assertEquals(ByteString.EMPTY, builder.getRepeatedStringPieceBytes(0));
- builder.clearRepeatedStringPiece();
-
- message = builder.build();
- builder.addRepeatedUint32(1);
- messageAfterBuild = builder.build();
- assertEquals(0, message.getRepeatedUint32Count());
- builder.setRepeatedUint32(0, 0);
- assertEquals(1, messageAfterBuild.getRepeatedUint32(0));
- assertEquals(0, builder.getRepeatedUint32(0));
- builder.clearRepeatedUint32();
-
- message = builder.build();
- builder.addRepeatedUint64(1L);
- messageAfterBuild = builder.build();
- assertEquals(0L, message.getRepeatedUint64Count());
- builder.setRepeatedUint64(0, 0L);
- assertEquals(1L, messageAfterBuild.getRepeatedUint64(0));
- assertEquals(0L, builder.getRepeatedUint64(0));
- builder.clearRepeatedUint64();
-
- message = builder.build();
- assertEquals(0, message.getSerializedSize());
- builder.mergeFrom(TestAllTypesLite.newBuilder()
- .setOptionalBool(true)
- .build());
- assertEquals(0, message.getSerializedSize());
- assertEquals(true, builder.build().getOptionalBool());
- builder.clearOptionalBool();
-
- message = builder.build();
- assertEquals(0, message.getSerializedSize());
- builder.mergeFrom(TestAllTypesLite.newBuilder()
- .setOptionalBool(true)
- .build());
- assertEquals(0, message.getSerializedSize());
- assertEquals(true, builder.build().getOptionalBool());
- builder.clear();
- assertEquals(0, builder.build().getSerializedSize());
-
- message = builder.build();
- assertEquals(0, message.getSerializedSize());
- builder.mergeOptionalForeignMessage(foreignMessage);
- assertEquals(0, message.getSerializedSize());
- assertEquals(
- foreignMessage.getC(),
- builder.build().getOptionalForeignMessage().getC());
- builder.clearOptionalForeignMessage();
-
- message = builder.build();
- assertEquals(0, message.getSerializedSize());
- builder.mergeOptionalLazyMessage(nestedMessage);
- assertEquals(0, message.getSerializedSize());
- assertEquals(
- nestedMessage.getBb(),
- builder.build().getOptionalLazyMessage().getBb());
- builder.clearOptionalLazyMessage();
-
- message = builder.build();
- builder.setOneofString("hi");
- assertEquals(
- OneofFieldCase.ONEOFFIELD_NOT_SET, message.getOneofFieldCase());
- assertEquals(OneofFieldCase.ONEOF_STRING, builder.getOneofFieldCase());
- assertEquals("hi", builder.getOneofString());
- messageAfterBuild = builder.build();
- assertEquals(
- OneofFieldCase.ONEOF_STRING, messageAfterBuild.getOneofFieldCase());
- assertEquals("hi", messageAfterBuild.getOneofString());
- builder.setOneofUint32(1);
- assertEquals(
- OneofFieldCase.ONEOF_STRING, messageAfterBuild.getOneofFieldCase());
- assertEquals("hi", messageAfterBuild.getOneofString());
- assertEquals(OneofFieldCase.ONEOF_UINT32, builder.getOneofFieldCase());
- assertEquals(1, builder.getOneofUint32());
- TestAllTypesLiteOrBuilder messageOrBuilder = builder;
- assertEquals(OneofFieldCase.ONEOF_UINT32, messageOrBuilder.getOneofFieldCase());
-
- TestAllExtensionsLite.Builder extendableMessageBuilder =
- TestAllExtensionsLite.newBuilder();
- TestAllExtensionsLite extendableMessage = extendableMessageBuilder.build();
- extendableMessageBuilder.setExtension(
- UnittestLite.optionalInt32ExtensionLite, 1);
- assertFalse(extendableMessage.hasExtension(
- UnittestLite.optionalInt32ExtensionLite));
- extendableMessage = extendableMessageBuilder.build();
- assertEquals(
- 1, (int) extendableMessageBuilder.getExtension(
- UnittestLite.optionalInt32ExtensionLite));
- assertEquals(
- 1, (int) extendableMessage.getExtension(
- UnittestLite.optionalInt32ExtensionLite));
- extendableMessageBuilder.setExtension(
- UnittestLite.optionalInt32ExtensionLite, 3);
- assertEquals(
- 3, (int) extendableMessageBuilder.getExtension(
- UnittestLite.optionalInt32ExtensionLite));
- assertEquals(
- 1, (int) extendableMessage.getExtension(
- UnittestLite.optionalInt32ExtensionLite));
- extendableMessage = extendableMessageBuilder.build();
- assertEquals(
- 3, (int) extendableMessageBuilder.getExtension(
- UnittestLite.optionalInt32ExtensionLite));
- assertEquals(
- 3, (int) extendableMessage.getExtension(
- UnittestLite.optionalInt32ExtensionLite));
-
- // No extension registry, so it should be in unknown fields.
- extendableMessage =
- TestAllExtensionsLite.parseFrom(extendableMessage.toByteArray());
- assertFalse(extendableMessage.hasExtension(
- UnittestLite.optionalInt32ExtensionLite));
-
- extendableMessageBuilder = extendableMessage.toBuilder();
- extendableMessageBuilder.mergeFrom(TestAllExtensionsLite.newBuilder()
- .setExtension(UnittestLite.optionalFixed32ExtensionLite, 11)
- .build());
-
- extendableMessage = extendableMessageBuilder.build();
- ExtensionRegistryLite registry = ExtensionRegistryLite.newInstance();
- UnittestLite.registerAllExtensions(registry);
- extendableMessage = TestAllExtensionsLite.parseFrom(
- extendableMessage.toByteArray(), registry);
-
- // The unknown field was preserved.
- assertEquals(
- 3, (int) extendableMessage.getExtension(
- UnittestLite.optionalInt32ExtensionLite));
- assertEquals(
- 11, (int) extendableMessage.getExtension(
- UnittestLite.optionalFixed32ExtensionLite));
- }
-
- public void testToStringDefaultInstance() throws Exception {
- assertToStringEquals("", TestAllTypesLite.getDefaultInstance());
- }
-
- public void testToStringPrimitives() throws Exception {
- TestAllTypesLite proto = TestAllTypesLite.newBuilder()
- .setOptionalInt32(1)
- .setOptionalInt64(9223372036854775807L)
- .build();
- assertToStringEquals("optional_int32: 1\noptional_int64: 9223372036854775807", proto);
-
- proto = TestAllTypesLite.newBuilder()
- .setOptionalBool(true)
- .setOptionalNestedEnum(TestAllTypesLite.NestedEnum.BAZ)
- .build();
- assertToStringEquals("optional_bool: true\noptional_nested_enum: BAZ", proto);
-
- proto = TestAllTypesLite.newBuilder()
- .setOptionalFloat(2.72f)
- .setOptionalDouble(3.14)
- .build();
- assertToStringEquals("optional_double: 3.14\noptional_float: 2.72", proto);
- }
-
- public void testToStringStringFields() throws Exception {
- TestAllTypesLite proto = TestAllTypesLite.newBuilder()
- .setOptionalString("foo\"bar\nbaz\\")
- .build();
- assertToStringEquals("optional_string: \"foo\\\"bar\\nbaz\\\\\"", proto);
-
- proto = TestAllTypesLite.newBuilder()
- .setOptionalString("\u6587")
- .build();
- assertToStringEquals("optional_string: \"\\346\\226\\207\"", proto);
- }
-
- public void testToStringNestedMessage() throws Exception {
- TestAllTypesLite proto = TestAllTypesLite.newBuilder()
- .setOptionalNestedMessage(TestAllTypesLite.NestedMessage.getDefaultInstance())
- .build();
- assertToStringEquals("optional_nested_message {\n}", proto);
-
- proto = TestAllTypesLite.newBuilder()
- .setOptionalNestedMessage(
- TestAllTypesLite.NestedMessage.newBuilder().setBb(7))
- .build();
- assertToStringEquals("optional_nested_message {\n bb: 7\n}", proto);
- }
-
- public void testToStringRepeatedFields() throws Exception {
- TestAllTypesLite proto = TestAllTypesLite.newBuilder()
- .addRepeatedInt32(32)
- .addRepeatedInt32(32)
- .addRepeatedInt64(64)
- .build();
- assertToStringEquals("repeated_int32: 32\nrepeated_int32: 32\nrepeated_int64: 64", proto);
-
- proto = TestAllTypesLite.newBuilder()
- .addRepeatedLazyMessage(
- TestAllTypesLite.NestedMessage.newBuilder().setBb(7))
- .addRepeatedLazyMessage(
- TestAllTypesLite.NestedMessage.newBuilder().setBb(8))
- .build();
- assertToStringEquals(
- "repeated_lazy_message {\n bb: 7\n}\nrepeated_lazy_message {\n bb: 8\n}",
- proto);
- }
-
- public void testToStringForeignFields() throws Exception {
- TestAllTypesLite proto = TestAllTypesLite.newBuilder()
- .setOptionalForeignEnum(ForeignEnumLite.FOREIGN_LITE_BAR)
- .setOptionalForeignMessage(
- ForeignMessageLite.newBuilder()
- .setC(3))
- .build();
- assertToStringEquals(
- "optional_foreign_enum: FOREIGN_LITE_BAR\noptional_foreign_message {\n c: 3\n}",
- proto);
- }
-
- public void testToStringExtensions() throws Exception {
- TestAllExtensionsLite message = TestAllExtensionsLite.newBuilder()
- .setExtension(UnittestLite.optionalInt32ExtensionLite, 123)
- .addExtension(UnittestLite.repeatedStringExtensionLite, "spam")
- .addExtension(UnittestLite.repeatedStringExtensionLite, "eggs")
- .setExtension(UnittestLite.optionalNestedEnumExtensionLite,
- TestAllTypesLite.NestedEnum.BAZ)
- .setExtension(UnittestLite.optionalNestedMessageExtensionLite,
- TestAllTypesLite.NestedMessage.newBuilder().setBb(7).build())
- .build();
- assertToStringEquals(
- "[1]: 123\n[18] {\n bb: 7\n}\n[21]: 3\n[44]: \"spam\"\n[44]: \"eggs\"",
- message);
- }
-
- public void testToStringUnknownFields() throws Exception {
- TestAllExtensionsLite messageWithExtensions = TestAllExtensionsLite.newBuilder()
- .setExtension(UnittestLite.optionalInt32ExtensionLite, 123)
- .addExtension(UnittestLite.repeatedStringExtensionLite, "spam")
- .addExtension(UnittestLite.repeatedStringExtensionLite, "eggs")
- .setExtension(UnittestLite.optionalNestedEnumExtensionLite,
- TestAllTypesLite.NestedEnum.BAZ)
- .setExtension(UnittestLite.optionalNestedMessageExtensionLite,
- TestAllTypesLite.NestedMessage.newBuilder().setBb(7).build())
- .build();
- TestAllExtensionsLite messageWithUnknownFields = TestAllExtensionsLite.parseFrom(
- messageWithExtensions.toByteArray());
- assertToStringEquals(
- "1: 123\n18: \"\\b\\a\"\n21: 3\n44: \"spam\"\n44: \"eggs\"",
- messageWithUnknownFields);
- }
-
- public void testToStringLazyMessage() throws Exception {
- TestAllTypesLite message = TestAllTypesLite.newBuilder()
- .setOptionalLazyMessage(NestedMessage.newBuilder().setBb(1).build())
- .build();
- assertToStringEquals("optional_lazy_message {\n bb: 1\n}", message);
- }
-
- public void testToStringGroup() throws Exception {
- TestAllTypesLite message = TestAllTypesLite.newBuilder()
- .setOptionalGroup(OptionalGroup.newBuilder().setA(1).build())
- .build();
- assertToStringEquals("optional_group {\n a: 1\n}", message);
- }
-
- public void testToStringOneof() throws Exception {
- TestAllTypesLite message = TestAllTypesLite.newBuilder()
- .setOneofString("hello")
- .build();
- assertToStringEquals("oneof_string: \"hello\"", message);
- }
-
- // Asserts that the toString() representation of the message matches the expected. This verifies
- // the first line starts with a comment; but, does not factor in said comment as part of the
- // comparison as it contains unstable addresses.
- private static void assertToStringEquals(String expected, MessageLite message) {
- String toString = message.toString();
- assertEquals('#', toString.charAt(0));
- if (toString.indexOf("\n") >= 0) {
- toString = toString.substring(toString.indexOf("\n") + 1);
- } else {
- toString = "";
- }
- assertEquals(expected, toString);
- }
-
- public void testParseLazy() throws Exception {
- ByteString bb = TestAllTypesLite.newBuilder()
- .setOptionalLazyMessage(NestedMessage.newBuilder()
- .setBb(11)
- .build())
- .build().toByteString();
- ByteString cc = TestAllTypesLite.newBuilder()
- .setOptionalLazyMessage(NestedMessage.newBuilder()
- .setCc(22)
- .build())
- .build().toByteString();
-
- ByteString concat = bb.concat(cc);
- TestAllTypesLite message = TestAllTypesLite.parseFrom(concat);
-
- assertEquals(11, message.getOptionalLazyMessage().getBb());
- assertEquals(22L, message.getOptionalLazyMessage().getCc());
- }
-
- public void testParseLazy_oneOf() throws Exception {
- ByteString bb = TestAllTypesLite.newBuilder()
- .setOneofLazyNestedMessage(NestedMessage.newBuilder()
- .setBb(11)
- .build())
- .build().toByteString();
- ByteString cc = TestAllTypesLite.newBuilder()
- .setOneofLazyNestedMessage(NestedMessage.newBuilder()
- .setCc(22)
- .build())
- .build().toByteString();
-
- ByteString concat = bb.concat(cc);
- TestAllTypesLite message = TestAllTypesLite.parseFrom(concat);
-
- assertEquals(11, message.getOneofLazyNestedMessage().getBb());
- assertEquals(22L, message.getOneofLazyNestedMessage().getCc());
- }
-
- public void testMergeFromStream_repeatedField() throws Exception {
- TestAllTypesLite.Builder builder = TestAllTypesLite.newBuilder()
- .addRepeatedString("hello");
- builder.mergeFrom(CodedInputStream.newInstance(builder.build().toByteArray()));
-
- assertEquals(2, builder.getRepeatedStringCount());
- }
-
- public void testMergeFromStream_invalidBytes() throws Exception {
- TestAllTypesLite.Builder builder = TestAllTypesLite.newBuilder()
- .setDefaultBool(true);
- try {
- builder.mergeFrom(CodedInputStream.newInstance("Invalid bytes".getBytes(Internal.UTF_8)));
- fail();
- } catch (InvalidProtocolBufferException expected) {}
- }
-
- public void testMergeFrom_sanity() throws Exception {
- TestAllTypesLite one = TestUtilLite.getAllLiteSetBuilder().build();
- byte[] bytes = one.toByteArray();
- TestAllTypesLite two = TestAllTypesLite.parseFrom(bytes);
-
- one = one.toBuilder().mergeFrom(one).build();
- two = two.toBuilder().mergeFrom(bytes).build();
- assertEquals(one, two);
- assertEquals(two, one);
- assertEquals(one.hashCode(), two.hashCode());
- }
-
- public void testMergeFromNoLazyFieldSharing() throws Exception {
- TestAllTypesLite.Builder sourceBuilder = TestAllTypesLite.newBuilder().setOptionalLazyMessage(
- TestAllTypesLite.NestedMessage.newBuilder().setBb(1));
- TestAllTypesLite.Builder targetBuilder =
- TestAllTypesLite.newBuilder().mergeFrom(sourceBuilder.build());
- assertEquals(1, sourceBuilder.getOptionalLazyMessage().getBb());
- // now change the sourceBuilder, and target value shouldn't be affected.
- sourceBuilder.setOptionalLazyMessage(
- TestAllTypesLite.NestedMessage.newBuilder().setBb(2));
- assertEquals(1, targetBuilder.getOptionalLazyMessage().getBb());
- }
-
- public void testEquals_notEqual() throws Exception {
- TestAllTypesLite one = TestUtilLite.getAllLiteSetBuilder().build();
- byte[] bytes = one.toByteArray();
- TestAllTypesLite two = one.toBuilder().mergeFrom(one).mergeFrom(bytes).build();
-
- assertFalse(one.equals(two));
- assertFalse(two.equals(one));
-
- assertFalse(one.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(one));
-
- TestAllTypesLite oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultBool(true)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultBytes(ByteString.EMPTY)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultCord("")
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultCordBytes(ByteString.EMPTY)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultDouble(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultFixed32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultFixed64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultFloat(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultForeignEnum(ForeignEnumLite.FOREIGN_LITE_BAR)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultImportEnum(ImportEnumLite.IMPORT_LITE_BAR)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultInt32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultInt64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultNestedEnum(NestedEnum.BAR)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultSfixed32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultSfixed64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultSint32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultSint64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultString("")
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultStringBytes(ByteString.EMPTY)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultStringPiece("")
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultStringPieceBytes(ByteString.EMPTY)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultUint32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setDefaultUint64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedBool(true)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedBytes(ByteString.EMPTY)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedCord("")
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedCordBytes(ByteString.EMPTY)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedDouble(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedFixed32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedFixed64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedFloat(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedForeignEnum(ForeignEnumLite.FOREIGN_LITE_BAR)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedImportEnum(ImportEnumLite.IMPORT_LITE_BAR)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedInt32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedInt64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedNestedEnum(NestedEnum.BAR)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedSfixed32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedSfixed64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedSint32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedSint64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedString("")
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedStringBytes(ByteString.EMPTY)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedStringPiece("")
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedStringPieceBytes(ByteString.EMPTY)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedUint32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedUint64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalBool(true)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalBytes(ByteString.EMPTY)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalCord("")
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalCordBytes(ByteString.EMPTY)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalDouble(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalFixed32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalFixed64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalFloat(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalForeignEnum(ForeignEnumLite.FOREIGN_LITE_BAR)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalImportEnum(ImportEnumLite.IMPORT_LITE_BAR)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalInt32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalInt64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalNestedEnum(NestedEnum.BAR)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalSfixed32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalSfixed64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalSint32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalSint64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalString("")
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalStringBytes(ByteString.EMPTY)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalStringPiece("")
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalStringPieceBytes(ByteString.EMPTY)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalUint32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalUint64(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOneofBytes(ByteString.EMPTY)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOneofLazyNestedMessage(NestedMessage.getDefaultInstance())
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOneofNestedMessage(NestedMessage.getDefaultInstance())
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOneofString("")
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOneofStringBytes(ByteString.EMPTY)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOneofUint32(0)
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalForeignMessage(ForeignMessageLite.getDefaultInstance())
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalGroup(OptionalGroup.getDefaultInstance())
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalPublicImportMessage(PublicImportMessageLite.getDefaultInstance())
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
-
- oneFieldSet = TestAllTypesLite.newBuilder()
- .setOptionalLazyMessage(NestedMessage.getDefaultInstance())
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
-
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
- oneFieldSet = TestAllTypesLite.newBuilder()
- .addRepeatedLazyMessage(NestedMessage.getDefaultInstance())
- .build();
- assertFalse(oneFieldSet.equals(TestAllTypesLite.getDefaultInstance()));
- assertFalse(TestAllTypesLite.getDefaultInstance().equals(oneFieldSet));
- }
-
- public void testEquals() throws Exception {
- // Check that two identical objs are equal.
- Foo foo1a = Foo.newBuilder()
- .setValue(1)
- .addBar(Bar.newBuilder().setName("foo1"))
- .build();
- Foo foo1b = Foo.newBuilder()
- .setValue(1)
- .addBar(Bar.newBuilder().setName("foo1"))
- .build();
- Foo foo2 = Foo.newBuilder()
- .setValue(1)
- .addBar(Bar.newBuilder().setName("foo2"))
- .build();
-
- // Check that equals is doing value rather than object equality.
- assertEquals(foo1a, foo1b);
- assertEquals(foo1a.hashCode(), foo1b.hashCode());
-
- // Check that a diffeent object is not equal.
- assertFalse(foo1a.equals(foo2));
-
- // Check that two objects which have different types but the same field values are not
- // considered to be equal.
- Bar bar = Bar.newBuilder().setName("bar").build();
- BarPrime barPrime = BarPrime.newBuilder().setName("bar").build();
- assertFalse(bar.equals(barPrime));
- }
-
- public void testOneofEquals() throws Exception {
- TestOneofEquals.Builder builder = TestOneofEquals.newBuilder();
- TestOneofEquals message1 = builder.build();
- // Set message2's name field to default value. The two messages should be different when we
- // check with the oneof case.
- builder.setName("");
- TestOneofEquals message2 = builder.build();
- assertFalse(message1.equals(message2));
- }
-
- public void testEquals_sanity() throws Exception {
- TestAllTypesLite one = TestUtilLite.getAllLiteSetBuilder().build();
- TestAllTypesLite two = TestAllTypesLite.parseFrom(one.toByteArray());
- assertEquals(one, two);
- assertEquals(one.hashCode(), two.hashCode());
-
- assertEquals(
- one.toBuilder().mergeFrom(two).build(),
- two.toBuilder().mergeFrom(two.toByteArray()).build());
- }
-
- public void testEqualsAndHashCodeWithUnknownFields() throws InvalidProtocolBufferException {
- Foo fooWithOnlyValue = Foo.newBuilder()
- .setValue(1)
- .build();
-
- Foo fooWithValueAndExtension = fooWithOnlyValue.toBuilder()
- .setValue(1)
- .setExtension(Bar.fooExt, Bar.newBuilder()
- .setName("name")
- .build())
- .build();
-
- Foo fooWithValueAndUnknownFields = Foo.parseFrom(fooWithValueAndExtension.toByteArray());
-
- assertEqualsAndHashCodeAreFalse(fooWithOnlyValue, fooWithValueAndUnknownFields);
- assertEqualsAndHashCodeAreFalse(fooWithValueAndExtension, fooWithValueAndUnknownFields);
- }
-
- public void testEqualsAndHashCodeWithExtensions() throws InvalidProtocolBufferException {
- Foo fooWithOnlyValue = Foo.newBuilder()
- .setValue(1)
- .build();
-
- Foo fooWithValueAndExtension = fooWithOnlyValue.toBuilder()
- .setValue(1)
- .setExtension(Bar.fooExt, Bar.newBuilder()
- .setName("name")
- .build())
- .build();
-
- assertEqualsAndHashCodeAreFalse(fooWithOnlyValue, fooWithValueAndExtension);
- }
-
- // Test to ensure we avoid a class cast exception with oneofs.
- public void testEquals_oneOfMessages() {
- TestAllTypesLite mine = TestAllTypesLite.newBuilder()
- .setOneofString("Hello")
- .build();
-
- TestAllTypesLite other = TestAllTypesLite.newBuilder()
- .setOneofNestedMessage(NestedMessage.getDefaultInstance())
- .build();
-
- assertFalse(mine.equals(other));
- assertFalse(other.equals(mine));
- }
-
- private void assertEqualsAndHashCodeAreFalse(Object o1, Object o2) {
- assertFalse(o1.equals(o2));
- assertFalse(o1.hashCode() == o2.hashCode());
- }
-
- public void testRecursiveHashcode() {
- // This tests that we don't infinite loop.
- TestRecursiveOneof.getDefaultInstance().hashCode();
- }
-}