blob: 1e43f07b00393575f0f30fefc0f25d8a1668e3aa [file] [log] [blame]
// 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));
}
}
}