예제 #1
0
        public void TestClone_LengthDelimited()
        {
            var unknownVarintField = new UnknownField();

            unknownVarintField.AddVarint(99);

            var unknownLengthDelimitedField1 = new UnknownField();

            unknownLengthDelimitedField1.AddLengthDelimited(ByteString.CopyFromUtf8("some data"));

            var unknownLengthDelimitedField2 = new UnknownField();

            unknownLengthDelimitedField2.AddLengthDelimited(ByteString.CopyFromUtf8("some more data"));

            var destUnknownFieldSet = new UnknownFieldSet();

            destUnknownFieldSet.AddOrReplaceField(997, unknownVarintField);
            destUnknownFieldSet.AddOrReplaceField(999, unknownLengthDelimitedField1);
            destUnknownFieldSet.AddOrReplaceField(999, unknownLengthDelimitedField2);

            var clone = UnknownFieldSet.Clone(destUnknownFieldSet);

            Assert.IsTrue(clone.HasField(997));
            Assert.IsTrue(clone.HasField(999));
        }
예제 #2
0
        public void MergeUnknownFieldSet()
        {
            UnknownFieldSet unknownFields = new UnknownFieldSet();
            UnknownField    field         = new UnknownField();

            field.AddFixed32(123);
            unknownFields.AddOrReplaceField(1, field);
            UnknownFieldSet otherUnknownFields = new UnknownFieldSet();

            Assert.IsFalse(otherUnknownFields.HasField(1));
            UnknownFieldSet.MergeFrom(otherUnknownFields, unknownFields);
            Assert.IsTrue(otherUnknownFields.HasField(1));
        }