public void PackedParsingOfUnpackedInput()
        {
            byte[]          bytes   = TestUnpackedTypes.ParseFrom(TestUtil.GetPackedSet().ToByteArray()).ToByteArray();
            TestPackedTypes message = TestPackedTypes.ParseFrom(bytes);

            TestUtil.AssertPackedFieldsSet(message);
        }
        public void PackedSerialization()
        {
            IMessage abstractMessage = new AbstractMessageWrapper(TestUtil.GetPackedSet());

            TestUtil.AssertPackedFieldsSet(TestPackedTypes.ParseFrom(abstractMessage.ToByteString()));
            Assert.AreEqual(TestUtil.GetPackedSet().ToByteString(), abstractMessage.ToByteString());
        }
Beispiel #3
0
        public void SerializationPacked()
        {
            TestPackedTypes message  = TestUtil.GetPackedSet();
            ByteString      rawBytes = message.ToByteString();

            Assert.AreEqual(rawBytes.Length, message.SerializedSize);
            TestPackedTypes message2 = TestPackedTypes.ParseFrom(rawBytes);

            TestUtil.AssertPackedFieldsSet(message2);
        }
Beispiel #4
0
        public void PackedTypesWrittenDirectlyToStream()
        {
            TestPackedTypes message = new TestPackedTypes.Builder {
                PackedInt32List = { 0, 1, 2 }
            }.Build();
            MemoryStream stream = new MemoryStream();

            message.WriteTo(stream);
            stream.Position = 0;
            TestPackedTypes readMessage = TestPackedTypes.ParseFrom(stream);

            Assert.AreEqual(message, readMessage);
        }
Beispiel #5
0
        public void DynamicMessagePackedSerialization()
        {
            IBuilder builder = DynamicMessage.CreateBuilder(TestPackedTypes.Descriptor);

            packedReflectionTester.SetPackedFieldsViaReflection(builder);
            IMessage message = builder.WeakBuild();

            ByteString      rawBytes = message.ToByteString();
            TestPackedTypes message2 = TestPackedTypes.ParseFrom(rawBytes);

            TestUtil.AssertPackedFieldsSet(message2);

            // In fact, the serialized forms should be exactly the same, byte-for-byte.
            Assert.AreEqual(TestUtil.GetPackedSet().ToByteString(), rawBytes);
        }