From 7b6044f88865ae035f75acf742748df74181483d Mon Sep 17 00:00:00 2001 From: csharptest Date: Fri, 9 Sep 2011 21:40:13 -0500 Subject: one more test, we are done. --- src/ProtocolBuffers.Test/ReusableBuilderTest.cs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/ProtocolBuffers.Test/ReusableBuilderTest.cs') diff --git a/src/ProtocolBuffers.Test/ReusableBuilderTest.cs b/src/ProtocolBuffers.Test/ReusableBuilderTest.cs index 4184971f..9a5e3f36 100644 --- a/src/ProtocolBuffers.Test/ReusableBuilderTest.cs +++ b/src/ProtocolBuffers.Test/ReusableBuilderTest.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Text; using NUnit.Framework; using Google.ProtocolBuffers.TestProtos; +using Google.ProtocolBuffers.Serialization; namespace Google.ProtocolBuffers { @@ -50,6 +51,26 @@ namespace Google.ProtocolBuffers TestAllTypes.CreateBuilder().SetOptionalBool(true).Build().ToBuilder().Clear().Build())); } + [Test] + public void BuildModifyAndRebuild() + { + TestAllTypes.Builder b1 = new TestAllTypes.Builder(); + b1.SetDefaultInt32(1); + b1.AddRepeatedInt32(2); + b1.SetOptionalForeignMessage(ForeignMessage.DefaultInstance); + + TestAllTypes m1 = b1.Build(); + + b1.SetDefaultInt32(5); + b1.AddRepeatedInt32(6); + b1.SetOptionalForeignMessage(b1.OptionalForeignMessage.ToBuilder().SetC(7)); + + TestAllTypes m2 = b1.Build(); + + Assert.AreEqual("{\"optional_foreign_message\":{},\"repeated_int32\":[2],\"default_int32\":1}", m1.ToJson()); + Assert.AreEqual("{\"optional_foreign_message\":{\"c\":7},\"repeated_int32\":[2,6],\"default_int32\":5}", m2.ToJson()); + } + [Test] public void CloneOnChangePrimitive() { -- cgit v1.2.3