aboutsummaryrefslogtreecommitdiff
path: root/csharp/ProtocolBuffers.Test/GeneratedMessageTest.cs
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2008-09-04 14:43:17 +0100
committerJon Skeet <skeet@pobox.com>2008-09-04 14:43:17 +0100
commit881db010cbe1126bf85258c1c19b2b805bfa68f7 (patch)
tree7033c5e7a1cf5e00c0d42a37e11609e2925a99a5 /csharp/ProtocolBuffers.Test/GeneratedMessageTest.cs
parent0dabc77f7f5e835705cf452a4cbe81148a7d0b73 (diff)
downloadprotobuf-881db010cbe1126bf85258c1c19b2b805bfa68f7.tar.gz
protobuf-881db010cbe1126bf85258c1c19b2b805bfa68f7.tar.bz2
protobuf-881db010cbe1126bf85258c1c19b2b805bfa68f7.zip
Fix initialization check when an optional field has required subfields
Diffstat (limited to 'csharp/ProtocolBuffers.Test/GeneratedMessageTest.cs')
-rw-r--r--csharp/ProtocolBuffers.Test/GeneratedMessageTest.cs16
1 files changed, 16 insertions, 0 deletions
diff --git a/csharp/ProtocolBuffers.Test/GeneratedMessageTest.cs b/csharp/ProtocolBuffers.Test/GeneratedMessageTest.cs
index f51f9755..c820b582 100644
--- a/csharp/ProtocolBuffers.Test/GeneratedMessageTest.cs
+++ b/csharp/ProtocolBuffers.Test/GeneratedMessageTest.cs
@@ -270,5 +270,21 @@ namespace Google.ProtocolBuffers {
Assert.IsFalse(TestAllExtensions.DefaultInstance.HasExtension(MultiFileProto.ExtensionWithOuter));
}
+
+ [Test]
+ public void OptionalFieldWithRequiredSubfieldsOptimizedForSize() {
+ TestOptionalOptimizedForSize message = TestOptionalOptimizedForSize.DefaultInstance;
+ Assert.IsTrue(message.IsInitialized);
+
+ message = TestOptionalOptimizedForSize.CreateBuilder().SetO(
+ TestRequiredOptimizedForSize.CreateBuilder().BuildPartial()
+ ).BuildPartial();
+ Assert.IsFalse(message.IsInitialized);
+
+ message = TestOptionalOptimizedForSize.CreateBuilder().SetO(
+ TestRequiredOptimizedForSize.CreateBuilder().SetX(5).BuildPartial()
+ ).BuildPartial();
+ Assert.IsTrue(message.IsInitialized);
+ }
}
}