aboutsummaryrefslogtreecommitdiff
path: root/src/ProtocolBuffers.Test/ReusableBuilderTest.cs
diff options
context:
space:
mode:
authorcsharptest <roger@csharptest.net>2011-09-09 21:40:13 -0500
committerrogerk <devnull@localhost>2011-09-09 21:40:13 -0500
commit7b6044f88865ae035f75acf742748df74181483d (patch)
tree8edaab32fcef85c07fd2a521f55e93bf50c0e71b /src/ProtocolBuffers.Test/ReusableBuilderTest.cs
parent1a0764ab27ae7189ae4b2b8a1d9f7a0599568282 (diff)
downloadprotobuf-7b6044f88865ae035f75acf742748df74181483d.tar.gz
protobuf-7b6044f88865ae035f75acf742748df74181483d.tar.bz2
protobuf-7b6044f88865ae035f75acf742748df74181483d.zip
one more test, we are done.
Diffstat (limited to 'src/ProtocolBuffers.Test/ReusableBuilderTest.cs')
-rw-r--r--src/ProtocolBuffers.Test/ReusableBuilderTest.cs21
1 files changed, 21 insertions, 0 deletions
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
{
@@ -51,6 +52,26 @@ namespace Google.ProtocolBuffers
}
[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()
{
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();