public void TestIBuilderLiteWeakClone()
        {
            TestRequiredLite msg = TestRequiredLite.CreateBuilder()
                                   .SetD(1).SetEn(ExtraEnum.EXLITE_BAR).Build();

            Assert.IsTrue(msg.IsInitialized);

            IMessageLite copy = ((IBuilderLite)msg.ToBuilder()).WeakClone().WeakBuild();

            Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
        }
        public void TestMessageLiteWriteTo()
        {
            TestRequiredLite msg = TestRequiredLite.CreateBuilder()
                                   .SetD(42)
                                   .SetEn(ExtraEnum.EXLITE_BAZ)
                                   .Build();

            MemoryStream ms = new MemoryStream();

            msg.WriteTo(ms);
            Assert.AreEqual(msg.ToByteArray(), ms.ToArray());
        }
        public void TestMessageLiteToByteArray()
        {
            TestRequiredLite msg = TestRequiredLite.CreateBuilder()
                                   .SetD(42)
                                   .SetEn(ExtraEnum.EXLITE_BAZ)
                                   .Build();

            ByteString b    = msg.ToByteString();
            ByteString copy = ByteString.CopyFrom(msg.ToByteArray());

            Assert.AreEqual(b, copy);
        }
        public void TestMessageLiteWriteDelimitedTo()
        {
            TestRequiredLite msg = TestRequiredLite.CreateBuilder()
                                   .SetD(42)
                                   .SetEn(ExtraEnum.EXLITE_BAZ)
                                   .Build();

            MemoryStream ms = new MemoryStream();

            msg.WriteDelimitedTo(ms);
            byte[] buffer = ms.ToArray();

            Assert.AreEqual(5, buffer.Length);
            Assert.AreEqual(4, buffer[0]);
            byte[] msgBytes = new byte[4];
            Array.Copy(buffer, 1, msgBytes, 0, 4);
            Assert.AreEqual(msg.ToByteArray(), msgBytes);
        }