aboutsummaryrefslogtreecommitdiff
path: root/src/ProtocolBuffers.Test/GeneratedMessageTest.cs
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2008-10-23 21:05:58 +0100
committerJon Skeet <skeet@pobox.com>2008-10-23 21:05:58 +0100
commit20bfd9bf5015b21adab17fce4bd78510f25137d9 (patch)
tree7ef5e47fd4e5c579b7daa8496fe9da465228302a /src/ProtocolBuffers.Test/GeneratedMessageTest.cs
parentb8c2fc57fc4711293e487c6a8df95de5188f9c28 (diff)
downloadprotobuf-20bfd9bf5015b21adab17fce4bd78510f25137d9.tar.gz
protobuf-20bfd9bf5015b21adab17fce4bd78510f25137d9.tar.bz2
protobuf-20bfd9bf5015b21adab17fce4bd78510f25137d9.zip
Fix bug in GeneratedBuilder.MergeFrom
Diffstat (limited to 'src/ProtocolBuffers.Test/GeneratedMessageTest.cs')
-rw-r--r--src/ProtocolBuffers.Test/GeneratedMessageTest.cs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/ProtocolBuffers.Test/GeneratedMessageTest.cs b/src/ProtocolBuffers.Test/GeneratedMessageTest.cs
index feba6e3b..f0be393c 100644
--- a/src/ProtocolBuffers.Test/GeneratedMessageTest.cs
+++ b/src/ProtocolBuffers.Test/GeneratedMessageTest.cs
@@ -287,5 +287,29 @@ namespace Google.ProtocolBuffers {
).BuildPartial();
Assert.IsTrue(message.IsInitialized);
}
+
+ [Test]
+ public void TestOptimizedForSizeMergeUsesAllFieldsFromTarget() {
+ TestOptimizedForSize withFieldSet = new TestOptimizedForSize.Builder { I = 10 }.Build();
+ TestOptimizedForSize.Builder builder = new TestOptimizedForSize.Builder();
+ builder.MergeFrom(withFieldSet);
+ TestOptimizedForSize built = builder.Build();
+ Assert.AreEqual(10, built.I);
+ }
+
+ [Test]
+ public void UninitializedExtensionInOptimizedForSizeMakesMessageUninitialized() {
+ TestOptimizedForSize.Builder builder = new TestOptimizedForSize.Builder();
+ builder.SetExtension(TestOptimizedForSize.TestExtension2,
+ new TestRequiredOptimizedForSize.Builder().BuildPartial());
+ Assert.IsFalse(builder.IsInitialized);
+ Assert.IsFalse(builder.BuildPartial().IsInitialized);
+
+ builder = new TestOptimizedForSize.Builder();
+ builder.SetExtension(TestOptimizedForSize.TestExtension2,
+ new TestRequiredOptimizedForSize.Builder { X = 10 }.BuildPartial());
+ Assert.IsTrue(builder.IsInitialized);
+ Assert.IsTrue(builder.BuildPartial().IsInitialized);
+ }
}
}