| // Protocol Buffers - Google's data interchange format |
| // Copyright 2008 Google Inc. All rights reserved. |
| // http://code.google.com/p/protobuf/ |
| // |
| // 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 com.google.protobuf.micro.ByteStringMicro; |
| import com.google.protobuf.micro.CodedInputStreamMicro; |
| import com.google.protobuf.micro.FileScopeEnumRefMicro; |
| import com.google.protobuf.micro.MessageScopeEnumRefMicro; |
| import com.google.protobuf.micro.MicroOuterClass; |
| import com.google.protobuf.micro.MicroOuterClass.TestAllTypesMicro; |
| import com.google.protobuf.micro.MultipleImportingNonMultipleMicro1; |
| import com.google.protobuf.micro.MultipleImportingNonMultipleMicro2; |
| import com.google.protobuf.micro.MultipleNameClashMicro; |
| import com.google.protobuf.micro.UnittestImportMicro; |
| import com.google.protobuf.micro.UnittestMultipleMicro; |
| import com.google.protobuf.micro.UnittestRecursiveMicro.RecursiveMessageMicro; |
| import com.google.protobuf.micro.UnittestSimpleMicro.SimpleMessageMicro; |
| import com.google.protobuf.micro.UnittestSingleMicro.SingleMessageMicro; |
| import com.google.protobuf.micro.UnittestStringutf8Micro.StringUtf8; |
| |
| import junit.framework.TestCase; |
| |
| import java.io.ByteArrayInputStream; |
| import java.io.FilterInputStream; |
| import java.io.InputStream; |
| import java.io.IOException; |
| |
| /** |
| * Test micro runtime. |
| * |
| * @author wink@google.com Wink Saville |
| */ |
| public class MicroTest extends TestCase { |
| public void setUp() throws Exception { |
| } |
| |
| public void testSimpleMessageMicro() throws Exception { |
| SimpleMessageMicro msg = new SimpleMessageMicro(); |
| assertFalse(msg.hasD()); |
| assertEquals(123, msg.getD()); |
| assertFalse(msg.hasNestedMsg()); |
| assertEquals(null, msg.getNestedMsg()); |
| assertFalse(msg.hasDefaultNestedEnum()); |
| assertEquals(SimpleMessageMicro.BAZ, msg.getDefaultNestedEnum()); |
| |
| msg.setD(456); |
| assertTrue(msg.hasD()); |
| assertEquals(456, msg.getD()); |
| msg.clearD() |
| .setD(456); |
| assertTrue(msg.hasD()); |
| |
| SimpleMessageMicro.NestedMessage nestedMsg = new SimpleMessageMicro.NestedMessage() |
| .setBb(2); |
| assertTrue(nestedMsg.hasBb()); |
| assertEquals(2, nestedMsg.getBb()); |
| msg.setNestedMsg(nestedMsg); |
| assertTrue(msg.hasNestedMsg()); |
| assertEquals(2, msg.getNestedMsg().getBb()); |
| |
| msg.setDefaultNestedEnum(SimpleMessageMicro.BAR); |
| assertTrue(msg.hasDefaultNestedEnum()); |
| assertEquals(SimpleMessageMicro.BAR, msg.getDefaultNestedEnum()); |
| |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 9); |
| assertEquals(result.length, msgSerializedSize); |
| |
| SimpleMessageMicro newMsg = SimpleMessageMicro.parseFrom(result); |
| assertTrue(newMsg.hasD()); |
| assertTrue(newMsg.hasNestedMsg()); |
| assertTrue(newMsg.hasDefaultNestedEnum()); |
| assertEquals(456, newMsg.getD()); |
| assertEquals(2, msg.getNestedMsg().getBb()); |
| assertEquals(SimpleMessageMicro.BAR, msg.getDefaultNestedEnum()); |
| } |
| |
| public void testRecursiveMessageMicro() throws Exception { |
| RecursiveMessageMicro msg = new RecursiveMessageMicro(); |
| assertFalse(msg.hasId()); |
| assertFalse(msg.hasNestedMessage()); |
| assertFalse(msg.hasOptionalRecursiveMessageMicro()); |
| assertEquals(0, msg.getRepeatedRecursiveMessageMicroCount()); |
| |
| RecursiveMessageMicro msg1 = new RecursiveMessageMicro(); |
| msg1.setId(1); |
| assertEquals(1, msg1.getId()); |
| RecursiveMessageMicro msg2 = new RecursiveMessageMicro(); |
| msg2.setId(2); |
| RecursiveMessageMicro msg3 = new RecursiveMessageMicro(); |
| msg3.setId(3); |
| |
| RecursiveMessageMicro.NestedMessage nestedMsg = new RecursiveMessageMicro.NestedMessage(); |
| nestedMsg.setA(msg1); |
| assertEquals(1, nestedMsg.getA().getId()); |
| |
| msg.setId(0); |
| msg.setNestedMessage(nestedMsg); |
| msg.setOptionalRecursiveMessageMicro(msg2); |
| msg.addRepeatedRecursiveMessageMicro(msg3); |
| |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 16); |
| assertEquals(result.length, msgSerializedSize); |
| |
| RecursiveMessageMicro newMsg = RecursiveMessageMicro.parseFrom(result); |
| assertTrue(newMsg.hasId()); |
| assertTrue(newMsg.hasNestedMessage()); |
| assertTrue(newMsg.hasOptionalRecursiveMessageMicro()); |
| assertEquals(1, newMsg.getRepeatedRecursiveMessageMicroCount()); |
| |
| assertEquals(0, newMsg.getId()); |
| assertEquals(1, newMsg.getNestedMessage().getA().getId()); |
| assertEquals(2, newMsg.getOptionalRecursiveMessageMicro().getId()); |
| assertEquals(3, newMsg.getRepeatedRecursiveMessageMicro(0).getId()); |
| } |
| |
| public void testMicroRequiredInt32() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasId()); |
| assertFalse(msg.isInitialized()); |
| msg.setId(123); |
| assertTrue(msg.hasId()); |
| assertTrue(msg.isInitialized()); |
| assertEquals(123, msg.getId()); |
| msg.clearId(); |
| assertFalse(msg.hasId()); |
| assertFalse(msg.isInitialized()); |
| msg.clearId() |
| .setId(456); |
| assertTrue(msg.hasId()); |
| msg.clear(); |
| assertFalse(msg.hasId()); |
| assertFalse(msg.isInitialized()); |
| |
| msg.setId(123); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasId()); |
| assertTrue(newMsg.isInitialized()); |
| assertEquals(123, newMsg.getId()); |
| } |
| |
| public void testMicroOptionalInt32() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalInt32()); |
| msg.setOptionalInt32(123); |
| assertTrue(msg.hasOptionalInt32()); |
| assertEquals(123, msg.getOptionalInt32()); |
| msg.clearOptionalInt32(); |
| assertFalse(msg.hasOptionalInt32()); |
| msg.clearOptionalInt32() |
| .setOptionalInt32(456); |
| assertTrue(msg.hasOptionalInt32()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalInt32()); |
| |
| msg.setOptionalInt32(123); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 2); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalInt32()); |
| assertEquals(123, newMsg.getOptionalInt32()); |
| } |
| |
| public void testMicroOptionalInt64() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalInt64()); |
| msg.setOptionalInt64(123); |
| assertTrue(msg.hasOptionalInt64()); |
| assertEquals(123, msg.getOptionalInt64()); |
| msg.clearOptionalInt64(); |
| assertFalse(msg.hasOptionalInt64()); |
| msg.clearOptionalInt64() |
| .setOptionalInt64(456); |
| assertTrue(msg.hasOptionalInt64()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalInt64()); |
| |
| msg.setOptionalInt64(123); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 2); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalInt64()); |
| assertEquals(123, newMsg.getOptionalInt64()); |
| } |
| |
| public void testMicroOptionalUint32() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalUint32()); |
| msg.setOptionalUint32(123); |
| assertTrue(msg.hasOptionalUint32()); |
| assertEquals(123, msg.getOptionalUint32()); |
| msg.clearOptionalUint32(); |
| assertFalse(msg.hasOptionalUint32()); |
| msg.clearOptionalUint32() |
| .setOptionalUint32(456); |
| assertTrue(msg.hasOptionalUint32()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalUint32()); |
| |
| msg.setOptionalUint32(123); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 2); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalUint32()); |
| assertEquals(123, newMsg.getOptionalUint32()); |
| } |
| |
| public void testMicroOptionalUint64() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalUint64()); |
| msg.setOptionalUint64(123); |
| assertTrue(msg.hasOptionalUint64()); |
| assertEquals(123, msg.getOptionalUint64()); |
| msg.clearOptionalUint64(); |
| assertFalse(msg.hasOptionalUint64()); |
| msg.clearOptionalUint64() |
| .setOptionalUint64(456); |
| assertTrue(msg.hasOptionalUint64()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalUint64()); |
| |
| msg.setOptionalUint64(123); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 2); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalUint64()); |
| assertEquals(123, newMsg.getOptionalUint64()); |
| } |
| |
| public void testMicroOptionalSint32() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalSint32()); |
| msg.setOptionalSint32(123); |
| assertTrue(msg.hasOptionalSint32()); |
| assertEquals(123, msg.getOptionalSint32()); |
| msg.clearOptionalSint32(); |
| assertFalse(msg.hasOptionalSint32()); |
| msg.clearOptionalSint32() |
| .setOptionalSint32(456); |
| assertTrue(msg.hasOptionalSint32()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalSint32()); |
| |
| msg.setOptionalSint32(-123); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalSint32()); |
| assertEquals(-123, newMsg.getOptionalSint32()); |
| } |
| |
| public void testMicroOptionalSint64() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalSint64()); |
| msg.setOptionalSint64(123); |
| assertTrue(msg.hasOptionalSint64()); |
| assertEquals(123, msg.getOptionalSint64()); |
| msg.clearOptionalSint64(); |
| assertFalse(msg.hasOptionalSint64()); |
| msg.clearOptionalSint64() |
| .setOptionalSint64(456); |
| assertTrue(msg.hasOptionalSint64()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalSint64()); |
| |
| msg.setOptionalSint64(-123); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalSint64()); |
| assertEquals(-123, newMsg.getOptionalSint64()); |
| } |
| |
| public void testMicroOptionalFixed32() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalFixed32()); |
| msg.setOptionalFixed32(123); |
| assertTrue(msg.hasOptionalFixed32()); |
| assertEquals(123, msg.getOptionalFixed32()); |
| msg.clearOptionalFixed32(); |
| assertFalse(msg.hasOptionalFixed32()); |
| msg.clearOptionalFixed32() |
| .setOptionalFixed32(456); |
| assertTrue(msg.hasOptionalFixed32()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalFixed32()); |
| |
| msg.setOptionalFixed32(123); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 5); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalFixed32()); |
| assertEquals(123, newMsg.getOptionalFixed32()); |
| } |
| |
| public void testMicroOptionalFixed64() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalFixed64()); |
| msg.setOptionalFixed64(123); |
| assertTrue(msg.hasOptionalFixed64()); |
| assertEquals(123, msg.getOptionalFixed64()); |
| msg.clearOptionalFixed64(); |
| assertFalse(msg.hasOptionalFixed64()); |
| msg.clearOptionalFixed64() |
| .setOptionalFixed64(456); |
| assertTrue(msg.hasOptionalFixed64()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalFixed64()); |
| |
| msg.setOptionalFixed64(123); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 9); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalFixed64()); |
| assertEquals(123, newMsg.getOptionalFixed64()); |
| } |
| public void testMicroOptionalSfixed32() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalSfixed32()); |
| msg.setOptionalSfixed32(123); |
| assertTrue(msg.hasOptionalSfixed32()); |
| assertEquals(123, msg.getOptionalSfixed32()); |
| msg.clearOptionalSfixed32(); |
| assertFalse(msg.hasOptionalSfixed32()); |
| msg.clearOptionalSfixed32() |
| .setOptionalSfixed32(456); |
| assertTrue(msg.hasOptionalSfixed32()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalSfixed32()); |
| |
| msg.setOptionalSfixed32(123); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 5); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalSfixed32()); |
| assertEquals(123, newMsg.getOptionalSfixed32()); |
| } |
| |
| public void testMicroOptionalSfixed64() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalSfixed64()); |
| msg.setOptionalSfixed64(123); |
| assertTrue(msg.hasOptionalSfixed64()); |
| assertEquals(123, msg.getOptionalSfixed64()); |
| msg.clearOptionalSfixed64(); |
| assertFalse(msg.hasOptionalSfixed64()); |
| msg.clearOptionalSfixed64() |
| .setOptionalSfixed64(456); |
| assertTrue(msg.hasOptionalSfixed64()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalSfixed64()); |
| |
| msg.setOptionalSfixed64(-123); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 9); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalSfixed64()); |
| assertEquals(-123, newMsg.getOptionalSfixed64()); |
| } |
| |
| public void testMicroOptionalFloat() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalFloat()); |
| msg.setOptionalFloat(123f); |
| assertTrue(msg.hasOptionalFloat()); |
| assertTrue(123.0f == msg.getOptionalFloat()); |
| msg.clearOptionalFloat(); |
| assertFalse(msg.hasOptionalFloat()); |
| msg.clearOptionalFloat() |
| .setOptionalFloat(456.0f); |
| assertTrue(msg.hasOptionalFloat()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalFloat()); |
| |
| msg.setOptionalFloat(-123.456f); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 5); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalFloat()); |
| assertTrue(-123.456f == newMsg.getOptionalFloat()); |
| } |
| |
| public void testMicroOptionalDouble() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalDouble()); |
| msg.setOptionalDouble(123); |
| assertTrue(msg.hasOptionalDouble()); |
| assertTrue(123.0 == msg.getOptionalDouble()); |
| msg.clearOptionalDouble(); |
| assertFalse(msg.hasOptionalDouble()); |
| msg.clearOptionalDouble() |
| .setOptionalDouble(456.0); |
| assertTrue(msg.hasOptionalDouble()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalDouble()); |
| |
| msg.setOptionalDouble(-123.456); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 9); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalDouble()); |
| assertTrue(-123.456 == newMsg.getOptionalDouble()); |
| } |
| |
| public void testMicroOptionalBool() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalBool()); |
| msg.setOptionalBool(true); |
| assertTrue(msg.hasOptionalBool()); |
| assertEquals(true, msg.getOptionalBool()); |
| msg.clearOptionalBool(); |
| assertFalse(msg.hasOptionalBool()); |
| msg.clearOptionalBool() |
| .setOptionalBool(true); |
| assertTrue(msg.hasOptionalBool()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalBool()); |
| |
| msg.setOptionalBool(false); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 2); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalBool()); |
| assertEquals(false, newMsg.getOptionalBool()); |
| } |
| |
| public void testMicroOptionalString() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalString()); |
| msg.setOptionalString("hello"); |
| assertTrue(msg.hasOptionalString()); |
| assertEquals("hello", msg.getOptionalString()); |
| msg.clearOptionalString(); |
| assertFalse(msg.hasOptionalString()); |
| msg.clearOptionalString() |
| .setOptionalString("hello"); |
| assertTrue(msg.hasOptionalString()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalString()); |
| |
| msg.setOptionalString("bye"); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 5); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalString()); |
| assertEquals("bye", newMsg.getOptionalString()); |
| } |
| |
| public void testMicroOptionalBytes() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalBytes()); |
| msg.setOptionalBytes(ByteStringMicro.copyFromUtf8("hello")); |
| assertTrue(msg.hasOptionalBytes()); |
| assertEquals("hello", msg.getOptionalBytes().toStringUtf8()); |
| msg.clearOptionalBytes(); |
| assertFalse(msg.hasOptionalBytes()); |
| msg.clearOptionalBytes() |
| .setOptionalBytes(ByteStringMicro.copyFromUtf8("hello")); |
| assertTrue(msg.hasOptionalBytes()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalBytes()); |
| |
| msg.setOptionalBytes(ByteStringMicro.copyFromUtf8("bye")); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 5); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalBytes()); |
| assertEquals("bye", newMsg.getOptionalBytes().toStringUtf8()); |
| } |
| |
| public void testMicroOptionalGroup() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| TestAllTypesMicro.OptionalGroup grp = new TestAllTypesMicro.OptionalGroup(); |
| grp.setA(1); |
| assertFalse(msg.hasOptionalGroup()); |
| msg.setOptionalGroup(grp); |
| assertTrue(msg.hasOptionalGroup()); |
| assertEquals(1, msg.getOptionalGroup().getA()); |
| msg.clearOptionalGroup(); |
| assertFalse(msg.hasOptionalGroup()); |
| msg.clearOptionalGroup() |
| .setOptionalGroup(new TestAllTypesMicro.OptionalGroup().setA(2)); |
| assertTrue(msg.hasOptionalGroup()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalGroup()); |
| |
| msg.setOptionalGroup(grp); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 7); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalGroup()); |
| assertEquals(1, newMsg.getOptionalGroup().getA()); |
| } |
| |
| public void testMicroOptionalNestedMessage() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| TestAllTypesMicro.NestedMessage nestedMsg = new TestAllTypesMicro.NestedMessage(); |
| nestedMsg.setBb(1); |
| assertFalse(msg.hasOptionalNestedMessage()); |
| msg.setOptionalNestedMessage(nestedMsg); |
| assertTrue(msg.hasOptionalNestedMessage()); |
| assertEquals(1, msg.getOptionalNestedMessage().getBb()); |
| msg.clearOptionalNestedMessage(); |
| assertFalse(msg.hasOptionalNestedMessage()); |
| msg.clearOptionalNestedMessage() |
| .setOptionalNestedMessage(new TestAllTypesMicro.NestedMessage().setBb(2)); |
| assertTrue(msg.hasOptionalNestedMessage()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalNestedMessage()); |
| |
| msg.setOptionalNestedMessage(nestedMsg); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 5); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalNestedMessage()); |
| assertEquals(1, newMsg.getOptionalNestedMessage().getBb()); |
| } |
| |
| public void testMicroOptionalForeignMessage() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| MicroOuterClass.ForeignMessageMicro foreignMsg = |
| new MicroOuterClass.ForeignMessageMicro(); |
| assertFalse(foreignMsg.hasC()); |
| foreignMsg.setC(1); |
| assertTrue(foreignMsg.hasC()); |
| assertFalse(msg.hasOptionalForeignMessage()); |
| msg.setOptionalForeignMessage(foreignMsg); |
| assertTrue(msg.hasOptionalForeignMessage()); |
| assertEquals(1, msg.getOptionalForeignMessage().getC()); |
| msg.clearOptionalForeignMessage(); |
| assertFalse(msg.hasOptionalForeignMessage()); |
| msg.clearOptionalForeignMessage() |
| .setOptionalForeignMessage(new MicroOuterClass.ForeignMessageMicro().setC(2)); |
| assertTrue(msg.hasOptionalForeignMessage()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalForeignMessage()); |
| |
| msg.setOptionalForeignMessage(foreignMsg); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 5); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalForeignMessage()); |
| assertEquals(1, newMsg.getOptionalForeignMessage().getC()); |
| } |
| |
| public void testMicroOptionalImportMessage() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| UnittestImportMicro.ImportMessageMicro importMsg = |
| new UnittestImportMicro.ImportMessageMicro(); |
| assertFalse(importMsg.hasD()); |
| importMsg.setD(1); |
| assertTrue(importMsg.hasD()); |
| assertFalse(msg.hasOptionalImportMessage()); |
| msg.setOptionalImportMessage(importMsg); |
| assertTrue(msg.hasOptionalImportMessage()); |
| assertEquals(1, msg.getOptionalImportMessage().getD()); |
| msg.clearOptionalImportMessage(); |
| assertFalse(msg.hasOptionalImportMessage()); |
| msg.clearOptionalImportMessage() |
| .setOptionalImportMessage(new UnittestImportMicro.ImportMessageMicro().setD(2)); |
| assertTrue(msg.hasOptionalImportMessage()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalImportMessage()); |
| |
| msg.setOptionalImportMessage(importMsg); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 5); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalImportMessage()); |
| assertEquals(1, newMsg.getOptionalImportMessage().getD()); |
| } |
| |
| public void testMicroOptionalNestedEnum() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| msg.setOptionalNestedEnum(TestAllTypesMicro.BAR); |
| assertTrue(msg.hasOptionalNestedEnum()); |
| assertEquals(TestAllTypesMicro.BAR, msg.getOptionalNestedEnum()); |
| msg.clearOptionalNestedEnum(); |
| assertFalse(msg.hasOptionalNestedEnum()); |
| msg.clearOptionalNestedEnum() |
| .setOptionalNestedEnum(TestAllTypesMicro.BAZ); |
| assertTrue(msg.hasOptionalNestedEnum()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalNestedEnum()); |
| |
| msg.setOptionalNestedEnum(TestAllTypesMicro.BAR); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalNestedEnum()); |
| assertEquals(TestAllTypesMicro.BAR, newMsg.getOptionalNestedEnum()); |
| } |
| |
| public void testMicroOptionalForeignEnum() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| msg.setOptionalForeignEnum(MicroOuterClass.FOREIGN_MICRO_BAR); |
| assertTrue(msg.hasOptionalForeignEnum()); |
| assertEquals(MicroOuterClass.FOREIGN_MICRO_BAR, |
| msg.getOptionalForeignEnum()); |
| msg.clearOptionalForeignEnum(); |
| assertFalse(msg.hasOptionalForeignEnum()); |
| msg.clearOptionalForeignEnum() |
| .setOptionalForeignEnum(MicroOuterClass.FOREIGN_MICRO_BAZ); |
| assertTrue(msg.hasOptionalForeignEnum()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalForeignEnum()); |
| |
| msg.setOptionalForeignEnum(MicroOuterClass.FOREIGN_MICRO_BAR); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalForeignEnum()); |
| assertEquals(MicroOuterClass.FOREIGN_MICRO_BAR, |
| newMsg.getOptionalForeignEnum()); |
| } |
| |
| public void testMicroOptionalImportEnum() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| msg.setOptionalImportEnum(UnittestImportMicro.IMPORT_MICRO_BAR); |
| assertTrue(msg.hasOptionalImportEnum()); |
| assertEquals(UnittestImportMicro.IMPORT_MICRO_BAR, |
| msg.getOptionalImportEnum()); |
| msg.clearOptionalImportEnum(); |
| assertFalse(msg.hasOptionalImportEnum()); |
| msg.clearOptionalImportEnum() |
| .setOptionalImportEnum(UnittestImportMicro.IMPORT_MICRO_BAZ); |
| assertTrue(msg.hasOptionalImportEnum()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalImportEnum()); |
| |
| msg.setOptionalImportEnum(UnittestImportMicro.IMPORT_MICRO_BAR); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalImportEnum()); |
| assertEquals(UnittestImportMicro.IMPORT_MICRO_BAR, |
| newMsg.getOptionalImportEnum()); |
| } |
| |
| public void testMicroOptionalStringPiece() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalStringPiece()); |
| msg.setOptionalStringPiece("hello"); |
| assertTrue(msg.hasOptionalStringPiece()); |
| assertEquals("hello", msg.getOptionalStringPiece()); |
| msg.clearOptionalStringPiece(); |
| assertFalse(msg.hasOptionalStringPiece()); |
| msg.clearOptionalStringPiece() |
| .setOptionalStringPiece("hello"); |
| assertTrue(msg.hasOptionalStringPiece()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalStringPiece()); |
| |
| msg.setOptionalStringPiece("bye"); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 6); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalStringPiece()); |
| assertEquals("bye", newMsg.getOptionalStringPiece()); |
| } |
| |
| public void testMicroOptionalCord() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasOptionalCord()); |
| msg.setOptionalCord("hello"); |
| assertTrue(msg.hasOptionalCord()); |
| assertEquals("hello", msg.getOptionalCord()); |
| msg.clearOptionalCord(); |
| assertFalse(msg.hasOptionalCord()); |
| msg.clearOptionalCord() |
| .setOptionalCord("hello"); |
| assertTrue(msg.hasOptionalCord()); |
| msg.clear(); |
| assertFalse(msg.hasOptionalCord()); |
| |
| msg.setOptionalCord("bye"); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 6); |
| assertEquals(result.length, msgSerializedSize); |
| |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertTrue(newMsg.hasOptionalCord()); |
| assertEquals("bye", newMsg.getOptionalCord()); |
| } |
| |
| public void testMicroRepeatedInt32() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedInt32Count()); |
| msg.addRepeatedInt32(123); |
| assertEquals(1, msg.getRepeatedInt32Count()); |
| assertEquals(123, msg.getRepeatedInt32(0)); |
| msg.addRepeatedInt32(456); |
| assertEquals(2, msg.getRepeatedInt32Count()); |
| assertEquals(123, msg.getRepeatedInt32(0)); |
| assertEquals(456, msg.getRepeatedInt32(1)); |
| msg.setRepeatedInt32(0, 789); |
| assertEquals(2, msg.getRepeatedInt32Count()); |
| assertEquals(789, msg.getRepeatedInt32(0)); |
| assertEquals(456, msg.getRepeatedInt32(1)); |
| msg.clearRepeatedInt32(); |
| assertEquals(0, msg.getRepeatedInt32Count()); |
| msg.clearRepeatedInt32() |
| .addRepeatedInt32(456); |
| assertEquals(1, msg.getRepeatedInt32Count()); |
| assertEquals(456, msg.getRepeatedInt32(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedInt32Count()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedInt32(123); |
| assertEquals(1, msg.getRepeatedInt32Count()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedInt32Count()); |
| assertEquals(123, newMsg.getRepeatedInt32(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedInt32(123) |
| .addRepeatedInt32(456); |
| assertEquals(2, msg.getRepeatedInt32Count()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 7); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedInt32Count()); |
| assertEquals(123, newMsg.getRepeatedInt32(0)); |
| assertEquals(456, newMsg.getRepeatedInt32(1)); |
| } |
| |
| public void testMicroRepeatedInt64() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedInt64Count()); |
| msg.addRepeatedInt64(123); |
| assertEquals(1, msg.getRepeatedInt64Count()); |
| assertEquals(123, msg.getRepeatedInt64(0)); |
| msg.addRepeatedInt64(456); |
| assertEquals(2, msg.getRepeatedInt64Count()); |
| assertEquals(123, msg.getRepeatedInt64(0)); |
| assertEquals(456, msg.getRepeatedInt64(1)); |
| msg.setRepeatedInt64(0, 789); |
| assertEquals(2, msg.getRepeatedInt64Count()); |
| assertEquals(789, msg.getRepeatedInt64(0)); |
| assertEquals(456, msg.getRepeatedInt64(1)); |
| msg.clearRepeatedInt64(); |
| assertEquals(0, msg.getRepeatedInt64Count()); |
| msg.clearRepeatedInt64() |
| .addRepeatedInt64(456); |
| assertEquals(1, msg.getRepeatedInt64Count()); |
| assertEquals(456, msg.getRepeatedInt64(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedInt64Count()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedInt64(123); |
| assertEquals(1, msg.getRepeatedInt64Count()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedInt64Count()); |
| assertEquals(123, newMsg.getRepeatedInt64(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedInt64(123) |
| .addRepeatedInt64(456); |
| assertEquals(2, msg.getRepeatedInt64Count()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 7); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedInt64Count()); |
| assertEquals(123, newMsg.getRepeatedInt64(0)); |
| assertEquals(456, newMsg.getRepeatedInt64(1)); |
| } |
| |
| public void testMicroRepeatedUint32() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedUint32Count()); |
| msg.addRepeatedUint32(123); |
| assertEquals(1, msg.getRepeatedUint32Count()); |
| assertEquals(123, msg.getRepeatedUint32(0)); |
| msg.addRepeatedUint32(456); |
| assertEquals(2, msg.getRepeatedUint32Count()); |
| assertEquals(123, msg.getRepeatedUint32(0)); |
| assertEquals(456, msg.getRepeatedUint32(1)); |
| msg.setRepeatedUint32(0, 789); |
| assertEquals(2, msg.getRepeatedUint32Count()); |
| assertEquals(789, msg.getRepeatedUint32(0)); |
| assertEquals(456, msg.getRepeatedUint32(1)); |
| msg.clearRepeatedUint32(); |
| assertEquals(0, msg.getRepeatedUint32Count()); |
| msg.clearRepeatedUint32() |
| .addRepeatedUint32(456); |
| assertEquals(1, msg.getRepeatedUint32Count()); |
| assertEquals(456, msg.getRepeatedUint32(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedUint32Count()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedUint32(123); |
| assertEquals(1, msg.getRepeatedUint32Count()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedUint32Count()); |
| assertEquals(123, newMsg.getRepeatedUint32(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedUint32(123) |
| .addRepeatedUint32(456); |
| assertEquals(2, msg.getRepeatedUint32Count()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 7); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedUint32Count()); |
| assertEquals(123, newMsg.getRepeatedUint32(0)); |
| assertEquals(456, newMsg.getRepeatedUint32(1)); |
| } |
| |
| public void testMicroRepeatedUint64() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedUint64Count()); |
| msg.addRepeatedUint64(123); |
| assertEquals(1, msg.getRepeatedUint64Count()); |
| assertEquals(123, msg.getRepeatedUint64(0)); |
| msg.addRepeatedUint64(456); |
| assertEquals(2, msg.getRepeatedUint64Count()); |
| assertEquals(123, msg.getRepeatedUint64(0)); |
| assertEquals(456, msg.getRepeatedUint64(1)); |
| msg.setRepeatedUint64(0, 789); |
| assertEquals(2, msg.getRepeatedUint64Count()); |
| assertEquals(789, msg.getRepeatedUint64(0)); |
| assertEquals(456, msg.getRepeatedUint64(1)); |
| msg.clearRepeatedUint64(); |
| assertEquals(0, msg.getRepeatedUint64Count()); |
| msg.clearRepeatedUint64() |
| .addRepeatedUint64(456); |
| assertEquals(1, msg.getRepeatedUint64Count()); |
| assertEquals(456, msg.getRepeatedUint64(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedUint64Count()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedUint64(123); |
| assertEquals(1, msg.getRepeatedUint64Count()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedUint64Count()); |
| assertEquals(123, newMsg.getRepeatedUint64(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedUint64(123) |
| .addRepeatedUint64(456); |
| assertEquals(2, msg.getRepeatedUint64Count()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 7); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedUint64Count()); |
| assertEquals(123, newMsg.getRepeatedUint64(0)); |
| assertEquals(456, newMsg.getRepeatedUint64(1)); |
| } |
| |
| public void testMicroRepeatedSint32() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedSint32Count()); |
| msg.addRepeatedSint32(123); |
| assertEquals(1, msg.getRepeatedSint32Count()); |
| assertEquals(123, msg.getRepeatedSint32(0)); |
| msg.addRepeatedSint32(456); |
| assertEquals(2, msg.getRepeatedSint32Count()); |
| assertEquals(123, msg.getRepeatedSint32(0)); |
| assertEquals(456, msg.getRepeatedSint32(1)); |
| msg.setRepeatedSint32(0, 789); |
| assertEquals(2, msg.getRepeatedSint32Count()); |
| assertEquals(789, msg.getRepeatedSint32(0)); |
| assertEquals(456, msg.getRepeatedSint32(1)); |
| msg.clearRepeatedSint32(); |
| assertEquals(0, msg.getRepeatedSint32Count()); |
| msg.clearRepeatedSint32() |
| .addRepeatedSint32(456); |
| assertEquals(1, msg.getRepeatedSint32Count()); |
| assertEquals(456, msg.getRepeatedSint32(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedSint32Count()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedSint32(123); |
| assertEquals(1, msg.getRepeatedSint32Count()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 4); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedSint32Count()); |
| assertEquals(123, newMsg.getRepeatedSint32(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedSint32(123) |
| .addRepeatedSint32(456); |
| assertEquals(2, msg.getRepeatedSint32Count()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 8); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedSint32Count()); |
| assertEquals(123, newMsg.getRepeatedSint32(0)); |
| assertEquals(456, newMsg.getRepeatedSint32(1)); |
| } |
| |
| public void testMicroRepeatedSint64() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedSint64Count()); |
| msg.addRepeatedSint64(123); |
| assertEquals(1, msg.getRepeatedSint64Count()); |
| assertEquals(123, msg.getRepeatedSint64(0)); |
| msg.addRepeatedSint64(456); |
| assertEquals(2, msg.getRepeatedSint64Count()); |
| assertEquals(123, msg.getRepeatedSint64(0)); |
| assertEquals(456, msg.getRepeatedSint64(1)); |
| msg.setRepeatedSint64(0, 789); |
| assertEquals(2, msg.getRepeatedSint64Count()); |
| assertEquals(789, msg.getRepeatedSint64(0)); |
| assertEquals(456, msg.getRepeatedSint64(1)); |
| msg.clearRepeatedSint64(); |
| assertEquals(0, msg.getRepeatedSint64Count()); |
| msg.clearRepeatedSint64() |
| .addRepeatedSint64(456); |
| assertEquals(1, msg.getRepeatedSint64Count()); |
| assertEquals(456, msg.getRepeatedSint64(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedSint64Count()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedSint64(123); |
| assertEquals(1, msg.getRepeatedSint64Count()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 4); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedSint64Count()); |
| assertEquals(123, newMsg.getRepeatedSint64(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedSint64(123) |
| .addRepeatedSint64(456); |
| assertEquals(2, msg.getRepeatedSint64Count()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 8); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedSint64Count()); |
| assertEquals(123, newMsg.getRepeatedSint64(0)); |
| assertEquals(456, newMsg.getRepeatedSint64(1)); |
| } |
| |
| public void testMicroRepeatedFixed32() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedFixed32Count()); |
| msg.addRepeatedFixed32(123); |
| assertEquals(1, msg.getRepeatedFixed32Count()); |
| assertEquals(123, msg.getRepeatedFixed32(0)); |
| msg.addRepeatedFixed32(456); |
| assertEquals(2, msg.getRepeatedFixed32Count()); |
| assertEquals(123, msg.getRepeatedFixed32(0)); |
| assertEquals(456, msg.getRepeatedFixed32(1)); |
| msg.setRepeatedFixed32(0, 789); |
| assertEquals(2, msg.getRepeatedFixed32Count()); |
| assertEquals(789, msg.getRepeatedFixed32(0)); |
| assertEquals(456, msg.getRepeatedFixed32(1)); |
| msg.clearRepeatedFixed32(); |
| assertEquals(0, msg.getRepeatedFixed32Count()); |
| msg.clearRepeatedFixed32() |
| .addRepeatedFixed32(456); |
| assertEquals(1, msg.getRepeatedFixed32Count()); |
| assertEquals(456, msg.getRepeatedFixed32(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedFixed32Count()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedFixed32(123); |
| assertEquals(1, msg.getRepeatedFixed32Count()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 6); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedFixed32Count()); |
| assertEquals(123, newMsg.getRepeatedFixed32(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedFixed32(123) |
| .addRepeatedFixed32(456); |
| assertEquals(2, msg.getRepeatedFixed32Count()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 12); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedFixed32Count()); |
| assertEquals(123, newMsg.getRepeatedFixed32(0)); |
| assertEquals(456, newMsg.getRepeatedFixed32(1)); |
| } |
| |
| public void testMicroRepeatedFixed64() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedFixed64Count()); |
| msg.addRepeatedFixed64(123); |
| assertEquals(1, msg.getRepeatedFixed64Count()); |
| assertEquals(123, msg.getRepeatedFixed64(0)); |
| msg.addRepeatedFixed64(456); |
| assertEquals(2, msg.getRepeatedFixed64Count()); |
| assertEquals(123, msg.getRepeatedFixed64(0)); |
| assertEquals(456, msg.getRepeatedFixed64(1)); |
| msg.setRepeatedFixed64(0, 789); |
| assertEquals(2, msg.getRepeatedFixed64Count()); |
| assertEquals(789, msg.getRepeatedFixed64(0)); |
| assertEquals(456, msg.getRepeatedFixed64(1)); |
| msg.clearRepeatedFixed64(); |
| assertEquals(0, msg.getRepeatedFixed64Count()); |
| msg.clearRepeatedFixed64() |
| .addRepeatedFixed64(456); |
| assertEquals(1, msg.getRepeatedFixed64Count()); |
| assertEquals(456, msg.getRepeatedFixed64(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedFixed64Count()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedFixed64(123); |
| assertEquals(1, msg.getRepeatedFixed64Count()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 10); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedFixed64Count()); |
| assertEquals(123, newMsg.getRepeatedFixed64(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedFixed64(123) |
| .addRepeatedFixed64(456); |
| assertEquals(2, msg.getRepeatedFixed64Count()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 20); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedFixed64Count()); |
| assertEquals(123, newMsg.getRepeatedFixed64(0)); |
| assertEquals(456, newMsg.getRepeatedFixed64(1)); |
| } |
| |
| public void testMicroRepeatedSfixed32() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedSfixed32Count()); |
| msg.addRepeatedSfixed32(123); |
| assertEquals(1, msg.getRepeatedSfixed32Count()); |
| assertEquals(123, msg.getRepeatedSfixed32(0)); |
| msg.addRepeatedSfixed32(456); |
| assertEquals(2, msg.getRepeatedSfixed32Count()); |
| assertEquals(123, msg.getRepeatedSfixed32(0)); |
| assertEquals(456, msg.getRepeatedSfixed32(1)); |
| msg.setRepeatedSfixed32(0, 789); |
| assertEquals(2, msg.getRepeatedSfixed32Count()); |
| assertEquals(789, msg.getRepeatedSfixed32(0)); |
| assertEquals(456, msg.getRepeatedSfixed32(1)); |
| msg.clearRepeatedSfixed32(); |
| assertEquals(0, msg.getRepeatedSfixed32Count()); |
| msg.clearRepeatedSfixed32() |
| .addRepeatedSfixed32(456); |
| assertEquals(1, msg.getRepeatedSfixed32Count()); |
| assertEquals(456, msg.getRepeatedSfixed32(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedSfixed32Count()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedSfixed32(123); |
| assertEquals(1, msg.getRepeatedSfixed32Count()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 6); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedSfixed32Count()); |
| assertEquals(123, newMsg.getRepeatedSfixed32(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedSfixed32(123) |
| .addRepeatedSfixed32(456); |
| assertEquals(2, msg.getRepeatedSfixed32Count()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 12); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedSfixed32Count()); |
| assertEquals(123, newMsg.getRepeatedSfixed32(0)); |
| assertEquals(456, newMsg.getRepeatedSfixed32(1)); |
| } |
| |
| public void testMicroRepeatedSfixed64() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedSfixed64Count()); |
| msg.addRepeatedSfixed64(123); |
| assertEquals(1, msg.getRepeatedSfixed64Count()); |
| assertEquals(123, msg.getRepeatedSfixed64(0)); |
| msg.addRepeatedSfixed64(456); |
| assertEquals(2, msg.getRepeatedSfixed64Count()); |
| assertEquals(123, msg.getRepeatedSfixed64(0)); |
| assertEquals(456, msg.getRepeatedSfixed64(1)); |
| msg.setRepeatedSfixed64(0, 789); |
| assertEquals(2, msg.getRepeatedSfixed64Count()); |
| assertEquals(789, msg.getRepeatedSfixed64(0)); |
| assertEquals(456, msg.getRepeatedSfixed64(1)); |
| msg.clearRepeatedSfixed64(); |
| assertEquals(0, msg.getRepeatedSfixed64Count()); |
| msg.clearRepeatedSfixed64() |
| .addRepeatedSfixed64(456); |
| assertEquals(1, msg.getRepeatedSfixed64Count()); |
| assertEquals(456, msg.getRepeatedSfixed64(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedSfixed64Count()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedSfixed64(123); |
| assertEquals(1, msg.getRepeatedSfixed64Count()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 10); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedSfixed64Count()); |
| assertEquals(123, newMsg.getRepeatedSfixed64(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedSfixed64(123) |
| .addRepeatedSfixed64(456); |
| assertEquals(2, msg.getRepeatedSfixed64Count()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 20); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedSfixed64Count()); |
| assertEquals(123, newMsg.getRepeatedSfixed64(0)); |
| assertEquals(456, newMsg.getRepeatedSfixed64(1)); |
| } |
| |
| public void testMicroRepeatedFloat() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedFloatCount()); |
| msg.addRepeatedFloat(123f); |
| assertEquals(1, msg.getRepeatedFloatCount()); |
| assertTrue(123f == msg.getRepeatedFloat(0)); |
| msg.addRepeatedFloat(456f); |
| assertEquals(2, msg.getRepeatedFloatCount()); |
| assertTrue(123f == msg.getRepeatedFloat(0)); |
| assertTrue(456f == msg.getRepeatedFloat(1)); |
| msg.setRepeatedFloat(0, 789f); |
| assertEquals(2, msg.getRepeatedFloatCount()); |
| assertTrue(789f == msg.getRepeatedFloat(0)); |
| assertTrue(456f == msg.getRepeatedFloat(1)); |
| msg.clearRepeatedFloat(); |
| assertEquals(0, msg.getRepeatedFloatCount()); |
| msg.clearRepeatedFloat() |
| .addRepeatedFloat(456f); |
| assertEquals(1, msg.getRepeatedFloatCount()); |
| assertTrue(456f == msg.getRepeatedFloat(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedFloatCount()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedFloat(123f); |
| assertEquals(1, msg.getRepeatedFloatCount()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 6); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedFloatCount()); |
| assertTrue(123f == newMsg.getRepeatedFloat(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedFloat(123f) |
| .addRepeatedFloat(456f); |
| assertEquals(2, msg.getRepeatedFloatCount()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 12); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedFloatCount()); |
| assertTrue(123f == newMsg.getRepeatedFloat(0)); |
| assertTrue(456f == newMsg.getRepeatedFloat(1)); |
| } |
| |
| public void testMicroRepeatedDouble() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedDoubleCount()); |
| msg.addRepeatedDouble(123.0); |
| assertEquals(1, msg.getRepeatedDoubleCount()); |
| assertTrue(123.0 == msg.getRepeatedDouble(0)); |
| msg.addRepeatedDouble(456.0); |
| assertEquals(2, msg.getRepeatedDoubleCount()); |
| assertTrue(123.0 == msg.getRepeatedDouble(0)); |
| assertTrue(456.0 == msg.getRepeatedDouble(1)); |
| msg.setRepeatedDouble(0, 789.0); |
| assertEquals(2, msg.getRepeatedDoubleCount()); |
| assertTrue(789.0 == msg.getRepeatedDouble(0)); |
| assertTrue(456.0 == msg.getRepeatedDouble(1)); |
| msg.clearRepeatedDouble(); |
| assertEquals(0, msg.getRepeatedDoubleCount()); |
| msg.clearRepeatedDouble() |
| .addRepeatedDouble(456.0); |
| assertEquals(1, msg.getRepeatedDoubleCount()); |
| assertTrue(456.0 == msg.getRepeatedDouble(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedDoubleCount()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedDouble(123.0); |
| assertEquals(1, msg.getRepeatedDoubleCount()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 10); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedDoubleCount()); |
| assertTrue(123.0 == newMsg.getRepeatedDouble(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedDouble(123.0) |
| .addRepeatedDouble(456.0); |
| assertEquals(2, msg.getRepeatedDoubleCount()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 20); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedDoubleCount()); |
| assertTrue(123.0 == newMsg.getRepeatedDouble(0)); |
| assertTrue(456.0 == newMsg.getRepeatedDouble(1)); |
| } |
| |
| public void testMicroRepeatedBool() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedBoolCount()); |
| msg.addRepeatedBool(true); |
| assertEquals(1, msg.getRepeatedBoolCount()); |
| assertEquals(true, msg.getRepeatedBool(0)); |
| msg.addRepeatedBool(false); |
| assertEquals(2, msg.getRepeatedBoolCount()); |
| assertEquals(true, msg.getRepeatedBool(0)); |
| assertEquals(false, msg.getRepeatedBool(1)); |
| msg.setRepeatedBool(0, false); |
| assertEquals(2, msg.getRepeatedBoolCount()); |
| assertEquals(false, msg.getRepeatedBool(0)); |
| assertEquals(false, msg.getRepeatedBool(1)); |
| msg.clearRepeatedBool(); |
| assertEquals(0, msg.getRepeatedBoolCount()); |
| msg.clearRepeatedBool() |
| .addRepeatedBool(true); |
| assertEquals(1, msg.getRepeatedBoolCount()); |
| assertEquals(true, msg.getRepeatedBool(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedBoolCount()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedBool(false); |
| assertEquals(1, msg.getRepeatedBoolCount()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedBoolCount()); |
| assertEquals(false, newMsg.getRepeatedBool(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedBool(true) |
| .addRepeatedBool(false); |
| assertEquals(2, msg.getRepeatedBoolCount()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 6); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedBoolCount()); |
| assertEquals(true, newMsg.getRepeatedBool(0)); |
| assertEquals(false, newMsg.getRepeatedBool(1)); |
| } |
| |
| public void testMicroRepeatedString() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedStringCount()); |
| msg.addRepeatedString("hello"); |
| assertEquals(1, msg.getRepeatedStringCount()); |
| assertEquals("hello", msg.getRepeatedString(0)); |
| msg.addRepeatedString("bye"); |
| assertEquals(2, msg.getRepeatedStringCount()); |
| assertEquals("hello", msg.getRepeatedString(0)); |
| assertEquals("bye", msg.getRepeatedString(1)); |
| msg.setRepeatedString(0, "boo"); |
| assertEquals(2, msg.getRepeatedStringCount()); |
| assertEquals("boo", msg.getRepeatedString(0)); |
| assertEquals("bye", msg.getRepeatedString(1)); |
| msg.clearRepeatedString(); |
| assertEquals(0, msg.getRepeatedStringCount()); |
| msg.clearRepeatedString() |
| .addRepeatedString("hello"); |
| assertEquals(1, msg.getRepeatedStringCount()); |
| assertEquals("hello", msg.getRepeatedString(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedStringCount()); |
| |
| // Test 1 entry and an empty string |
| msg.clear() |
| .addRepeatedString(""); |
| assertEquals(1, msg.getRepeatedStringCount()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedStringCount()); |
| assertEquals("", newMsg.getRepeatedString(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedString("hello") |
| .addRepeatedString("world"); |
| assertEquals(2, msg.getRepeatedStringCount()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 16); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedStringCount()); |
| assertEquals("hello", newMsg.getRepeatedString(0)); |
| assertEquals("world", newMsg.getRepeatedString(1)); |
| } |
| |
| public void testMicroRepeatedBytes() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedBytesCount()); |
| msg.addRepeatedBytes(ByteStringMicro.copyFromUtf8("hello")); |
| assertEquals(1, msg.getRepeatedBytesCount()); |
| assertEquals("hello", msg.getRepeatedBytes(0).toStringUtf8()); |
| msg.addRepeatedBytes(ByteStringMicro.copyFromUtf8("bye")); |
| assertEquals(2, msg.getRepeatedBytesCount()); |
| assertEquals("hello", msg.getRepeatedBytes(0).toStringUtf8()); |
| assertEquals("bye", msg.getRepeatedBytes(1).toStringUtf8()); |
| msg.setRepeatedBytes(0, ByteStringMicro.copyFromUtf8("boo")); |
| assertEquals(2, msg.getRepeatedBytesCount()); |
| assertEquals("boo", msg.getRepeatedBytes(0).toStringUtf8()); |
| assertEquals("bye", msg.getRepeatedBytes(1).toStringUtf8()); |
| msg.clearRepeatedBytes(); |
| assertEquals(0, msg.getRepeatedBytesCount()); |
| msg.clearRepeatedBytes() |
| .addRepeatedBytes(ByteStringMicro.copyFromUtf8("hello")); |
| assertEquals(1, msg.getRepeatedBytesCount()); |
| assertEquals("hello", msg.getRepeatedBytes(0).toStringUtf8()); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedBytesCount()); |
| |
| // Test 1 entry and an empty byte array can be serialized |
| msg.clear() |
| .addRepeatedBytes(ByteStringMicro.copyFromUtf8("")); |
| assertEquals(1, msg.getRepeatedBytesCount()); |
| assertEquals("", msg.getRepeatedBytes(0).toStringUtf8()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedBytesCount()); |
| assertEquals("", newMsg.getRepeatedBytes(0).toStringUtf8()); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedBytes(ByteStringMicro.copyFromUtf8("hello")) |
| .addRepeatedBytes(ByteStringMicro.copyFromUtf8("world")); |
| assertEquals(2, msg.getRepeatedBytesCount()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 16); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedBytesCount()); |
| assertEquals("hello", newMsg.getRepeatedBytes(0).toStringUtf8()); |
| assertEquals("world", newMsg.getRepeatedBytes(1).toStringUtf8()); |
| } |
| |
| public void testMicroRepeatedGroup() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| TestAllTypesMicro.RepeatedGroup group0 = |
| new TestAllTypesMicro.RepeatedGroup().setA(0); |
| TestAllTypesMicro.RepeatedGroup group1 = |
| new TestAllTypesMicro.RepeatedGroup().setA(1); |
| TestAllTypesMicro.RepeatedGroup group2 = |
| new TestAllTypesMicro.RepeatedGroup().setA(2); |
| |
| msg.addRepeatedGroup(group0); |
| assertEquals(1, msg.getRepeatedGroupCount()); |
| assertEquals(0, msg.getRepeatedGroup(0).getA()); |
| msg.addRepeatedGroup(group1); |
| assertEquals(2, msg.getRepeatedGroupCount()); |
| assertEquals(0, msg.getRepeatedGroup(0).getA()); |
| assertEquals(1, msg.getRepeatedGroup(1).getA()); |
| msg.setRepeatedGroup(0, group2); |
| assertEquals(2, msg.getRepeatedGroupCount()); |
| assertEquals(2, msg.getRepeatedGroup(0).getA()); |
| assertEquals(1, msg.getRepeatedGroup(1).getA()); |
| msg.clearRepeatedGroup(); |
| assertEquals(0, msg.getRepeatedGroupCount()); |
| msg.clearRepeatedGroup() |
| .addRepeatedGroup(group1); |
| assertEquals(1, msg.getRepeatedGroupCount()); |
| assertEquals(1, msg.getRepeatedGroup(0).getA()); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedGroupCount()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedGroup(group0); |
| assertEquals(1, msg.getRepeatedGroupCount()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 7); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedGroupCount()); |
| assertEquals(0, newMsg.getRepeatedGroup(0).getA()); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedGroup(group0) |
| .addRepeatedGroup(group1); |
| assertEquals(2, msg.getRepeatedGroupCount()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 14); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedGroupCount()); |
| assertEquals(0, newMsg.getRepeatedGroup(0).getA()); |
| assertEquals(1, newMsg.getRepeatedGroup(1).getA()); |
| } |
| |
| |
| public void testMicroRepeatedNestedMessage() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| TestAllTypesMicro.NestedMessage nestedMsg0 = |
| new TestAllTypesMicro.NestedMessage().setBb(0); |
| TestAllTypesMicro.NestedMessage nestedMsg1 = |
| new TestAllTypesMicro.NestedMessage().setBb(1); |
| TestAllTypesMicro.NestedMessage nestedMsg2 = |
| new TestAllTypesMicro.NestedMessage().setBb(2); |
| |
| msg.addRepeatedNestedMessage(nestedMsg0); |
| assertEquals(1, msg.getRepeatedNestedMessageCount()); |
| assertEquals(0, msg.getRepeatedNestedMessage(0).getBb()); |
| msg.addRepeatedNestedMessage(nestedMsg1); |
| assertEquals(2, msg.getRepeatedNestedMessageCount()); |
| assertEquals(0, msg.getRepeatedNestedMessage(0).getBb()); |
| assertEquals(1, msg.getRepeatedNestedMessage(1).getBb()); |
| msg.setRepeatedNestedMessage(0, nestedMsg2); |
| assertEquals(2, msg.getRepeatedNestedMessageCount()); |
| assertEquals(2, msg.getRepeatedNestedMessage(0).getBb()); |
| assertEquals(1, msg.getRepeatedNestedMessage(1).getBb()); |
| msg.clearRepeatedNestedMessage(); |
| assertEquals(0, msg.getRepeatedNestedMessageCount()); |
| msg.clearRepeatedNestedMessage() |
| .addRepeatedNestedMessage(nestedMsg1); |
| assertEquals(1, msg.getRepeatedNestedMessageCount()); |
| assertEquals(1, msg.getRepeatedNestedMessage(0).getBb()); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedNestedMessageCount()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedNestedMessage(nestedMsg0); |
| assertEquals(1, msg.getRepeatedNestedMessageCount()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 5); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedNestedMessageCount()); |
| assertEquals(0, newMsg.getRepeatedNestedMessage(0).getBb()); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedNestedMessage(nestedMsg0) |
| .addRepeatedNestedMessage(nestedMsg1); |
| assertEquals(2, msg.getRepeatedNestedMessageCount()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 10); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedNestedMessageCount()); |
| assertEquals(0, newMsg.getRepeatedNestedMessage(0).getBb()); |
| assertEquals(1, newMsg.getRepeatedNestedMessage(1).getBb()); |
| } |
| |
| public void testMicroRepeatedForeignMessage() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| MicroOuterClass.ForeignMessageMicro foreignMsg0 = |
| new MicroOuterClass.ForeignMessageMicro().setC(0); |
| MicroOuterClass.ForeignMessageMicro foreignMsg1 = |
| new MicroOuterClass.ForeignMessageMicro().setC(1); |
| MicroOuterClass.ForeignMessageMicro foreignMsg2 = |
| new MicroOuterClass.ForeignMessageMicro().setC(2); |
| |
| msg.addRepeatedForeignMessage(foreignMsg0); |
| assertEquals(1, msg.getRepeatedForeignMessageCount()); |
| assertEquals(0, msg.getRepeatedForeignMessage(0).getC()); |
| msg.addRepeatedForeignMessage(foreignMsg1); |
| assertEquals(2, msg.getRepeatedForeignMessageCount()); |
| assertEquals(0, msg.getRepeatedForeignMessage(0).getC()); |
| assertEquals(1, msg.getRepeatedForeignMessage(1).getC()); |
| msg.setRepeatedForeignMessage(0, foreignMsg2); |
| assertEquals(2, msg.getRepeatedForeignMessageCount()); |
| assertEquals(2, msg.getRepeatedForeignMessage(0).getC()); |
| assertEquals(1, msg.getRepeatedForeignMessage(1).getC()); |
| msg.clearRepeatedForeignMessage(); |
| assertEquals(0, msg.getRepeatedForeignMessageCount()); |
| msg.clearRepeatedForeignMessage() |
| .addRepeatedForeignMessage(foreignMsg1); |
| assertEquals(1, msg.getRepeatedForeignMessageCount()); |
| assertEquals(1, msg.getRepeatedForeignMessage(0).getC()); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedForeignMessageCount()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedForeignMessage(foreignMsg0); |
| assertEquals(1, msg.getRepeatedForeignMessageCount()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 5); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedForeignMessageCount()); |
| assertEquals(0, newMsg.getRepeatedForeignMessage(0).getC()); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedForeignMessage(foreignMsg0) |
| .addRepeatedForeignMessage(foreignMsg1); |
| assertEquals(2, msg.getRepeatedForeignMessageCount()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 10); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedForeignMessageCount()); |
| assertEquals(0, newMsg.getRepeatedForeignMessage(0).getC()); |
| assertEquals(1, newMsg.getRepeatedForeignMessage(1).getC()); |
| } |
| |
| public void testMicroRepeatedImportMessage() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| UnittestImportMicro.ImportMessageMicro importMsg0 = |
| new UnittestImportMicro.ImportMessageMicro().setD(0); |
| UnittestImportMicro.ImportMessageMicro importMsg1 = |
| new UnittestImportMicro.ImportMessageMicro().setD(1); |
| UnittestImportMicro.ImportMessageMicro importMsg2 = |
| new UnittestImportMicro.ImportMessageMicro().setD(2); |
| |
| msg.addRepeatedImportMessage(importMsg0); |
| assertEquals(1, msg.getRepeatedImportMessageCount()); |
| assertEquals(0, msg.getRepeatedImportMessage(0).getD()); |
| msg.addRepeatedImportMessage(importMsg1); |
| assertEquals(2, msg.getRepeatedImportMessageCount()); |
| assertEquals(0, msg.getRepeatedImportMessage(0).getD()); |
| assertEquals(1, msg.getRepeatedImportMessage(1).getD()); |
| msg.setRepeatedImportMessage(0, importMsg2); |
| assertEquals(2, msg.getRepeatedImportMessageCount()); |
| assertEquals(2, msg.getRepeatedImportMessage(0).getD()); |
| assertEquals(1, msg.getRepeatedImportMessage(1).getD()); |
| msg.clearRepeatedImportMessage(); |
| assertEquals(0, msg.getRepeatedImportMessageCount()); |
| msg.clearRepeatedImportMessage() |
| .addRepeatedImportMessage(importMsg1); |
| assertEquals(1, msg.getRepeatedImportMessageCount()); |
| assertEquals(1, msg.getRepeatedImportMessage(0).getD()); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedImportMessageCount()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedImportMessage(importMsg0); |
| assertEquals(1, msg.getRepeatedImportMessageCount()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 5); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedImportMessageCount()); |
| assertEquals(0, newMsg.getRepeatedImportMessage(0).getD()); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedImportMessage(importMsg0) |
| .addRepeatedImportMessage(importMsg1); |
| assertEquals(2, msg.getRepeatedImportMessageCount()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 10); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedImportMessageCount()); |
| assertEquals(0, newMsg.getRepeatedImportMessage(0).getD()); |
| assertEquals(1, newMsg.getRepeatedImportMessage(1).getD()); |
| } |
| |
| public void testMicroRepeatedNestedEnum() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| msg.addRepeatedNestedEnum(TestAllTypesMicro.FOO); |
| assertEquals(1, msg.getRepeatedNestedEnumCount()); |
| assertEquals(TestAllTypesMicro.FOO, msg.getRepeatedNestedEnum(0)); |
| msg.addRepeatedNestedEnum(TestAllTypesMicro.BAR); |
| assertEquals(2, msg.getRepeatedNestedEnumCount()); |
| assertEquals(TestAllTypesMicro.FOO, msg.getRepeatedNestedEnum(0)); |
| assertEquals(TestAllTypesMicro.BAR, msg.getRepeatedNestedEnum(1)); |
| msg.setRepeatedNestedEnum(0, TestAllTypesMicro.BAZ); |
| assertEquals(2, msg.getRepeatedNestedEnumCount()); |
| assertEquals(TestAllTypesMicro.BAZ, msg.getRepeatedNestedEnum(0)); |
| assertEquals(TestAllTypesMicro.BAR, msg.getRepeatedNestedEnum(1)); |
| msg.clearRepeatedNestedEnum(); |
| assertEquals(0, msg.getRepeatedNestedEnumCount()); |
| msg.clearRepeatedNestedEnum() |
| .addRepeatedNestedEnum(TestAllTypesMicro.BAR); |
| assertEquals(1, msg.getRepeatedNestedEnumCount()); |
| assertEquals(TestAllTypesMicro.BAR, msg.getRepeatedNestedEnum(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedNestedEnumCount()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedNestedEnum(TestAllTypesMicro.FOO); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedNestedEnumCount()); |
| assertEquals(TestAllTypesMicro.FOO, msg.getRepeatedNestedEnum(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedNestedEnum(TestAllTypesMicro.FOO) |
| .addRepeatedNestedEnum(TestAllTypesMicro.BAR); |
| assertEquals(2, msg.getRepeatedNestedEnumCount()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 6); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedNestedEnumCount()); |
| assertEquals(TestAllTypesMicro.FOO, msg.getRepeatedNestedEnum(0)); |
| assertEquals(TestAllTypesMicro.BAR, msg.getRepeatedNestedEnum(1)); |
| } |
| |
| public void testMicroRepeatedForeignEnum() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| msg.addRepeatedForeignEnum(MicroOuterClass.FOREIGN_MICRO_FOO); |
| assertEquals(1, msg.getRepeatedForeignEnumCount()); |
| assertEquals(MicroOuterClass.FOREIGN_MICRO_FOO, msg.getRepeatedForeignEnum(0)); |
| msg.addRepeatedForeignEnum(MicroOuterClass.FOREIGN_MICRO_BAR); |
| assertEquals(2, msg.getRepeatedForeignEnumCount()); |
| assertEquals(MicroOuterClass.FOREIGN_MICRO_FOO, msg.getRepeatedForeignEnum(0)); |
| assertEquals(MicroOuterClass.FOREIGN_MICRO_BAR, msg.getRepeatedForeignEnum(1)); |
| msg.setRepeatedForeignEnum(0, MicroOuterClass.FOREIGN_MICRO_BAZ); |
| assertEquals(2, msg.getRepeatedForeignEnumCount()); |
| assertEquals(MicroOuterClass.FOREIGN_MICRO_BAZ, msg.getRepeatedForeignEnum(0)); |
| assertEquals(MicroOuterClass.FOREIGN_MICRO_BAR, msg.getRepeatedForeignEnum(1)); |
| msg.clearRepeatedForeignEnum(); |
| assertEquals(0, msg.getRepeatedForeignEnumCount()); |
| msg.clearRepeatedForeignEnum() |
| .addRepeatedForeignEnum(MicroOuterClass.FOREIGN_MICRO_BAR); |
| assertEquals(1, msg.getRepeatedForeignEnumCount()); |
| assertEquals(MicroOuterClass.FOREIGN_MICRO_BAR, msg.getRepeatedForeignEnum(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedForeignEnumCount()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedForeignEnum(MicroOuterClass.FOREIGN_MICRO_FOO); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedForeignEnumCount()); |
| assertEquals(MicroOuterClass.FOREIGN_MICRO_FOO, msg.getRepeatedForeignEnum(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedForeignEnum(MicroOuterClass.FOREIGN_MICRO_FOO) |
| .addRepeatedForeignEnum(MicroOuterClass.FOREIGN_MICRO_BAR); |
| assertEquals(2, msg.getRepeatedForeignEnumCount()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 6); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedForeignEnumCount()); |
| assertEquals(MicroOuterClass.FOREIGN_MICRO_FOO, msg.getRepeatedForeignEnum(0)); |
| assertEquals(MicroOuterClass.FOREIGN_MICRO_BAR, msg.getRepeatedForeignEnum(1)); |
| } |
| |
| public void testMicroRepeatedImportEnum() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| msg.addRepeatedImportEnum(UnittestImportMicro.IMPORT_MICRO_FOO); |
| assertEquals(1, msg.getRepeatedImportEnumCount()); |
| assertEquals(UnittestImportMicro.IMPORT_MICRO_FOO, msg.getRepeatedImportEnum(0)); |
| msg.addRepeatedImportEnum(UnittestImportMicro.IMPORT_MICRO_BAR); |
| assertEquals(2, msg.getRepeatedImportEnumCount()); |
| assertEquals(UnittestImportMicro.IMPORT_MICRO_FOO, msg.getRepeatedImportEnum(0)); |
| assertEquals(UnittestImportMicro.IMPORT_MICRO_BAR, msg.getRepeatedImportEnum(1)); |
| msg.setRepeatedImportEnum(0, UnittestImportMicro.IMPORT_MICRO_BAZ); |
| assertEquals(2, msg.getRepeatedImportEnumCount()); |
| assertEquals(UnittestImportMicro.IMPORT_MICRO_BAZ, msg.getRepeatedImportEnum(0)); |
| assertEquals(UnittestImportMicro.IMPORT_MICRO_BAR, msg.getRepeatedImportEnum(1)); |
| msg.clearRepeatedImportEnum(); |
| assertEquals(0, msg.getRepeatedImportEnumCount()); |
| msg.clearRepeatedImportEnum() |
| .addRepeatedImportEnum(UnittestImportMicro.IMPORT_MICRO_BAR); |
| assertEquals(1, msg.getRepeatedImportEnumCount()); |
| assertEquals(UnittestImportMicro.IMPORT_MICRO_BAR, msg.getRepeatedImportEnum(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedImportEnumCount()); |
| |
| // Test 1 entry |
| msg.clear() |
| .addRepeatedImportEnum(UnittestImportMicro.IMPORT_MICRO_FOO); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedImportEnumCount()); |
| assertEquals(UnittestImportMicro.IMPORT_MICRO_FOO, msg.getRepeatedImportEnum(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedImportEnum(UnittestImportMicro.IMPORT_MICRO_FOO) |
| .addRepeatedImportEnum(UnittestImportMicro.IMPORT_MICRO_BAR); |
| assertEquals(2, msg.getRepeatedImportEnumCount()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 6); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedImportEnumCount()); |
| assertEquals(UnittestImportMicro.IMPORT_MICRO_FOO, msg.getRepeatedImportEnum(0)); |
| assertEquals(UnittestImportMicro.IMPORT_MICRO_BAR, msg.getRepeatedImportEnum(1)); |
| } |
| |
| public void testMicroRepeatedStringPiece() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedStringPieceCount()); |
| msg.addRepeatedStringPiece("hello"); |
| assertEquals(1, msg.getRepeatedStringPieceCount()); |
| assertEquals("hello", msg.getRepeatedStringPiece(0)); |
| msg.addRepeatedStringPiece("bye"); |
| assertEquals(2, msg.getRepeatedStringPieceCount()); |
| assertEquals("hello", msg.getRepeatedStringPiece(0)); |
| assertEquals("bye", msg.getRepeatedStringPiece(1)); |
| msg.setRepeatedStringPiece(0, "boo"); |
| assertEquals(2, msg.getRepeatedStringPieceCount()); |
| assertEquals("boo", msg.getRepeatedStringPiece(0)); |
| assertEquals("bye", msg.getRepeatedStringPiece(1)); |
| msg.clearRepeatedStringPiece(); |
| assertEquals(0, msg.getRepeatedStringPieceCount()); |
| msg.clearRepeatedStringPiece() |
| .addRepeatedStringPiece("hello"); |
| assertEquals(1, msg.getRepeatedStringPieceCount()); |
| assertEquals("hello", msg.getRepeatedStringPiece(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedStringPieceCount()); |
| |
| // Test 1 entry and an empty string |
| msg.clear() |
| .addRepeatedStringPiece(""); |
| assertEquals(1, msg.getRepeatedStringPieceCount()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedStringPieceCount()); |
| assertEquals("", newMsg.getRepeatedStringPiece(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedStringPiece("hello") |
| .addRepeatedStringPiece("world"); |
| assertEquals(2, msg.getRepeatedStringPieceCount()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 16); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedStringPieceCount()); |
| assertEquals("hello", newMsg.getRepeatedStringPiece(0)); |
| assertEquals("world", newMsg.getRepeatedStringPiece(1)); |
| } |
| |
| public void testMicroRepeatedCord() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertEquals(0, msg.getRepeatedCordCount()); |
| msg.addRepeatedCord("hello"); |
| assertEquals(1, msg.getRepeatedCordCount()); |
| assertEquals("hello", msg.getRepeatedCord(0)); |
| msg.addRepeatedCord("bye"); |
| assertEquals(2, msg.getRepeatedCordCount()); |
| assertEquals("hello", msg.getRepeatedCord(0)); |
| assertEquals("bye", msg.getRepeatedCord(1)); |
| msg.setRepeatedCord(0, "boo"); |
| assertEquals(2, msg.getRepeatedCordCount()); |
| assertEquals("boo", msg.getRepeatedCord(0)); |
| assertEquals("bye", msg.getRepeatedCord(1)); |
| msg.clearRepeatedCord(); |
| assertEquals(0, msg.getRepeatedCordCount()); |
| msg.clearRepeatedCord() |
| .addRepeatedCord("hello"); |
| assertEquals(1, msg.getRepeatedCordCount()); |
| assertEquals("hello", msg.getRepeatedCord(0)); |
| msg.clear(); |
| assertEquals(0, msg.getRepeatedCordCount()); |
| |
| // Test 1 entry and an empty string |
| msg.clear() |
| .addRepeatedCord(""); |
| assertEquals(1, msg.getRepeatedCordCount()); |
| byte [] result = msg.toByteArray(); |
| int msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 3); |
| assertEquals(result.length, msgSerializedSize); |
| TestAllTypesMicro newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(1, newMsg.getRepeatedCordCount()); |
| assertEquals("", newMsg.getRepeatedCord(0)); |
| |
| // Test 2 entries |
| msg.clear() |
| .addRepeatedCord("hello") |
| .addRepeatedCord("world"); |
| assertEquals(2, msg.getRepeatedCordCount()); |
| result = msg.toByteArray(); |
| msgSerializedSize = msg.getSerializedSize(); |
| //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); |
| assertTrue(msgSerializedSize == 16); |
| assertEquals(result.length, msgSerializedSize); |
| |
| newMsg = TestAllTypesMicro.parseFrom(result); |
| assertEquals(2, newMsg.getRepeatedCordCount()); |
| assertEquals("hello", newMsg.getRepeatedCord(0)); |
| assertEquals("world", newMsg.getRepeatedCord(1)); |
| } |
| |
| /** |
| * Tests that code generation correctly wraps a single message into its outer |
| * class. The class {@code SingleMessageMicro} is imported from the outer |
| * class {@code UnittestSingleMicro}, whose name is implicit. Any error would |
| * cause this method to fail compilation. |
| */ |
| public void testMicroSingle() throws Exception { |
| SingleMessageMicro msg = new SingleMessageMicro(); |
| } |
| |
| /** |
| * Tests that code generation correctly skips generating the outer class if |
| * unnecessary, letting a file-scope entity have the same name. The class |
| * {@code MultipleNameClashMicro} shares the same name with the file's outer |
| * class defined explicitly, but the file contains no other entities and has |
| * java_multiple_files set. Any error would cause this method to fail |
| * compilation. |
| */ |
| public void testMicroMultipleNameClash() throws Exception { |
| MultipleNameClashMicro msg = new MultipleNameClashMicro(); |
| msg.setField(0); |
| } |
| |
| /** |
| * Tests that code generation correctly handles enums in different scopes in |
| * a source file with the option java_multiple_files set to true. Any error |
| * would cause this method to fail compilation. |
| */ |
| public void testMicroMultipleEnumScoping() throws Exception { |
| FileScopeEnumRefMicro msg1 = new FileScopeEnumRefMicro(); |
| msg1.setEnumField(UnittestMultipleMicro.ONE); |
| MessageScopeEnumRefMicro msg2 = new MessageScopeEnumRefMicro(); |
| msg2.setEnumField(MessageScopeEnumRefMicro.TWO); |
| } |
| |
| /** |
| * Tests that code generation with mixed values of the java_multiple_files |
| * options between the main source file and the imported source files would |
| * generate correct references. Any error would cause this method to fail |
| * compilation. |
| */ |
| public void testMicroMultipleImportingNonMultiple() throws Exception { |
| UnittestImportMicro.ImportMessageMicro importMsg = |
| new UnittestImportMicro.ImportMessageMicro(); |
| MultipleImportingNonMultipleMicro1 micro1 = new MultipleImportingNonMultipleMicro1(); |
| micro1.setField(importMsg); |
| MultipleImportingNonMultipleMicro2 micro2 = new MultipleImportingNonMultipleMicro2(); |
| micro2.setMicro1(micro1); |
| } |
| |
| public void testMicroDefaults() throws Exception { |
| TestAllTypesMicro msg = new TestAllTypesMicro(); |
| assertFalse(msg.hasDefaultInt32()); |
| assertEquals(41, msg.getDefaultInt32()); |
| assertFalse(msg.hasDefaultInt64()); |
| assertEquals(42, msg.getDefaultInt64()); |
| assertFalse(msg.hasDefaultUint32()); |
| assertEquals(43, msg.getDefaultUint32()); |
| assertFalse(msg.hasDefaultUint64()); |
| assertEquals(44, msg.getDefaultUint64()); |
| assertFalse(msg.hasDefaultSint32()); |
| assertEquals(-45, msg.getDefaultSint32()); |
| assertFalse(msg.hasDefaultSint64()); |
| assertEquals(46, msg.getDefaultSint64()); |
| assertFalse(msg.hasDefaultFixed32()); |
| assertEquals(47, msg.getDefaultFixed32()); |
| assertFalse(msg.hasDefaultFixed64()); |
| assertEquals(48, msg.getDefaultFixed64()); |
| assertFalse(msg.hasDefaultSfixed32()); |
| assertEquals(49, msg.getDefaultSfixed32()); |
| assertFalse(msg.hasDefaultSfixed64()); |
| assertEquals(-50, msg.getDefaultSfixed64()); |
| assertFalse(msg.hasDefaultFloat()); |
| assertTrue(51.5f == msg.getDefaultFloat()); |
| assertFalse(msg.hasDefaultDouble()); |
| assertTrue(52.0e3 == msg.getDefaultDouble()); |
| assertFalse(msg.hasDefaultBool()); |
| assertEquals(true, msg.getDefaultBool()); |
| assertFalse(msg.hasDefaultString()); |
| assertEquals("hello", msg.getDefaultString()); |
| assertFalse(msg.hasDefaultBytes()); |
| assertEquals("world", msg.getDefaultBytes().toStringUtf8()); |
| assertFalse(msg.hasDefaultNestedEnum()); |
| assertEquals(TestAllTypesMicro.BAR, msg.getDefaultNestedEnum()); |
| assertFalse(msg.hasDefaultForeignEnum()); |
| assertEquals(MicroOuterClass.FOREIGN_MICRO_BAR, msg.getDefaultForeignEnum()); |
| assertFalse(msg.hasDefaultImportEnum()); |
| assertEquals(UnittestImportMicro.IMPORT_MICRO_BAR, msg.getDefaultImportEnum()); |
| assertFalse(msg.hasDefaultFloatInf()); |
| assertEquals(Float.POSITIVE_INFINITY, msg.getDefaultFloatInf()); |
| assertFalse(msg.hasDefaultFloatNegInf()); |
| assertEquals(Float.NEGATIVE_INFINITY, msg.getDefaultFloatNegInf()); |
| assertFalse(msg.hasDefaultFloatNan()); |
| assertEquals(Float.NaN, msg.getDefaultFloatNan()); |
| assertFalse(msg.hasDefaultDoubleInf()); |
| assertEquals(Double.POSITIVE_INFINITY, msg.getDefaultDoubleInf()); |
| assertFalse(msg.hasDefaultDoubleNegInf()); |
| assertEquals(Double.NEGATIVE_INFINITY, msg.getDefaultDoubleNegInf()); |
| assertFalse(msg.hasDefaultDoubleNan()); |
| assertEquals(Double.NaN, msg.getDefaultDoubleNan()); |
| } |
| |
| /** |
| * Test that a bug in skipRawBytes() has been fixed: if the skip skips |
| * exactly up to a limit, this should not break things. |
| */ |
| public void testSkipRawBytesBug() throws Exception { |
| byte[] rawBytes = new byte[] { 1, 2 }; |
| CodedInputStreamMicro input = CodedInputStreamMicro.newInstance(rawBytes); |
| |
| int limit = input.pushLimit(1); |
| input.skipRawBytes(1); |
| input.popLimit(limit); |
| assertEquals(2, input.readRawByte()); |
| } |
| |
| /** |
| * Test that a bug in skipRawBytes() has been fixed: if the skip skips |
| * past the end of a buffer with a limit that has been set past the end of |
| * that buffer, this should not break things. |
| */ |
| public void testSkipRawBytesPastEndOfBufferWithLimit() throws Exception { |
| byte[] rawBytes = new byte[] { 1, 2, 3, 4, 5 }; |
| CodedInputStreamMicro input = CodedInputStreamMicro.newInstance( |
| new SmallBlockInputStream(rawBytes, 3)); |
| |
| int limit = input.pushLimit(4); |
| // In order to expose the bug we need to read at least one byte to prime the |
| // buffer inside the CodedInputStream. |
| assertEquals(1, input.readRawByte()); |
| // Skip to the end of the limit. |
| input.skipRawBytes(3); |
| assertTrue(input.isAtEnd()); |
| input.popLimit(limit); |
| assertEquals(5, input.readRawByte()); |
| } |
| |
| /** |
| * An InputStream which limits the number of bytes it reads at a time. |
| * We use this to make sure that CodedInputStream doesn't screw up when |
| * reading in small blocks. |
| */ |
| private static final class SmallBlockInputStream extends FilterInputStream { |
| private final int blockSize; |
| |
| public SmallBlockInputStream(byte[] data, int blockSize) { |
| this(new ByteArrayInputStream(data), blockSize); |
| } |
| |
| public SmallBlockInputStream(InputStream in, int blockSize) { |
| super(in); |
| this.blockSize = blockSize; |
| } |
| |
| public int read(byte[] b) throws IOException { |
| return super.read(b, 0, Math.min(b.length, blockSize)); |
| } |
| |
| public int read(byte[] b, int off, int len) throws IOException { |
| return super.read(b, off, Math.min(len, blockSize)); |
| } |
| } |
| } |