diff options
author | Jon Skeet <skeet@pobox.com> | 2008-09-04 14:43:17 +0100 |
---|---|---|
committer | Jon Skeet <skeet@pobox.com> | 2008-09-04 14:43:17 +0100 |
commit | 881db010cbe1126bf85258c1c19b2b805bfa68f7 (patch) | |
tree | 7033c5e7a1cf5e00c0d42a37e11609e2925a99a5 /csharp/ProtocolBuffers.Test/GeneratedMessageTest.cs | |
parent | 0dabc77f7f5e835705cf452a4cbe81148a7d0b73 (diff) | |
download | protobuf-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.cs | 16 |
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); + } } } |