diff options
author | Jon Skeet <skeet@pobox.com> | 2009-02-24 16:50:56 +0000 |
---|---|---|
committer | Jon Skeet <skeet@pobox.com> | 2009-02-24 16:50:56 +0000 |
commit | e81a9d7c87380028b72cd77d48e767705ee224b5 (patch) | |
tree | a4e0c00735509e67a8188dfc6934f418a49b3abf /src/ProtocolBuffers.Test/DynamicMessageTest.cs | |
parent | 25a28580a6f307cb8eb040367f5671e678e9896b (diff) | |
download | protobuf-e81a9d7c87380028b72cd77d48e767705ee224b5.tar.gz protobuf-e81a9d7c87380028b72cd77d48e767705ee224b5.tar.bz2 protobuf-e81a9d7c87380028b72cd77d48e767705ee224b5.zip |
Added ToBuilder and WeakToBuilder
Diffstat (limited to 'src/ProtocolBuffers.Test/DynamicMessageTest.cs')
-rw-r--r-- | src/ProtocolBuffers.Test/DynamicMessageTest.cs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/ProtocolBuffers.Test/DynamicMessageTest.cs b/src/ProtocolBuffers.Test/DynamicMessageTest.cs index 89193ad2..edcce38e 100644 --- a/src/ProtocolBuffers.Test/DynamicMessageTest.cs +++ b/src/ProtocolBuffers.Test/DynamicMessageTest.cs @@ -1,3 +1,4 @@ +using System.Collections.Generic; using Google.ProtocolBuffers.TestProtos; // Protocol Buffers - Google's data interchange format // Copyright 2008 Google Inc. All rights reserved. @@ -173,5 +174,26 @@ namespace Google.ProtocolBuffers { DynamicMessage copy = DynamicMessage.CreateBuilder(message).Build(); reflectionTester.AssertAllFieldsSetViaReflection(copy); } + + [Test] + public void ToBuilder() { + DynamicMessage.Builder builder = + DynamicMessage.CreateBuilder(TestAllTypes.Descriptor); + reflectionTester.SetAllFieldsViaReflection(builder); + int unknownFieldNum = 9; + ulong unknownFieldVal = 90; + builder.SetUnknownFields(UnknownFieldSet.CreateBuilder() + .AddField(unknownFieldNum, + UnknownField.CreateBuilder().AddVarint(unknownFieldVal).Build()) + .Build()); + DynamicMessage message = builder.Build(); + + DynamicMessage derived = message.ToBuilder().Build(); + reflectionTester.AssertAllFieldsSetViaReflection(derived); + + IList<ulong> values = derived.UnknownFields.FieldDictionary[unknownFieldNum].VarintList; + Assert.AreEqual(1, values.Count); + Assert.AreEqual(unknownFieldVal, values[0]); + } } } |