diff options
author | Jon Skeet <skeet@pobox.com> | 2009-06-05 19:29:36 +0100 |
---|---|---|
committer | Jon Skeet <skeet@pobox.com> | 2009-06-05 19:29:36 +0100 |
commit | df67f1482beab88844296a469aa135fbaebcec9d (patch) | |
tree | 86cc32075c445264bd28a582f1a873913664b968 /src/ProtocolBuffers.Test/DescriptorsTest.cs | |
parent | 6ef233d4ea9099188310e5278f76c01f931ac817 (diff) | |
download | protobuf-df67f1482beab88844296a469aa135fbaebcec9d.tar.gz protobuf-df67f1482beab88844296a469aa135fbaebcec9d.tar.bz2 protobuf-df67f1482beab88844296a469aa135fbaebcec9d.zip |
Fix custom options behaviour
Diffstat (limited to 'src/ProtocolBuffers.Test/DescriptorsTest.cs')
-rw-r--r-- | src/ProtocolBuffers.Test/DescriptorsTest.cs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/ProtocolBuffers.Test/DescriptorsTest.cs b/src/ProtocolBuffers.Test/DescriptorsTest.cs index 3921a6ee..913a919e 100644 --- a/src/ProtocolBuffers.Test/DescriptorsTest.cs +++ b/src/ProtocolBuffers.Test/DescriptorsTest.cs @@ -286,5 +286,41 @@ namespace Google.ProtocolBuffers { Assert.AreEqual(i, service.Methods[i].Index); } } + + [Test] + public void CustomOptions() { + MessageDescriptor descriptor = TestMessageWithCustomOptions.Descriptor; + Assert.IsTrue(descriptor.Options.HasExtension(UnitTestCustomOptionsProtoFile.MessageOpt1)); + Assert.AreEqual(-56, descriptor.Options.GetExtension(UnitTestCustomOptionsProtoFile.MessageOpt1)); + + + FieldDescriptor field = descriptor.FindFieldByName("field1"); + Assert.IsNotNull(field); + + Assert.IsTrue(field.Options.HasExtension(UnitTestCustomOptionsProtoFile.FieldOpt1)); + Assert.AreEqual(8765432109L, field.Options.GetExtension(UnitTestCustomOptionsProtoFile.FieldOpt1)); + + // TODO: Write out enum descriptors + /* + EnumDescriptor enumType = TestMessageWithCustomOptions.Types. + UnittestCustomOptions.TestMessageWithCustomOptions.AnEnum.getDescriptor(); + + Assert.IsTrue( + enumType.getOptions().hasExtension(UnittestCustomOptions.enumOpt1)); + Assert.AreEqual(Integer.valueOf(-789), + enumType.getOptions().getExtension(UnittestCustomOptions.enumOpt1)); + */ + + ServiceDescriptor service = TestServiceWithCustomOptions.Descriptor; + + Assert.IsTrue(service.Options.HasExtension(UnitTestCustomOptionsProtoFile.ServiceOpt1)); + Assert.AreEqual(-9876543210L, service.Options.GetExtension(UnitTestCustomOptionsProtoFile.ServiceOpt1)); + + MethodDescriptor method = service.FindMethodByName("Foo"); + Assert.IsNotNull(method); + + Assert.IsTrue(method.Options.HasExtension(UnitTestCustomOptionsProtoFile.MethodOpt1)); + Assert.AreEqual(MethodOpt1.METHODOPT1_VAL2, method.Options.GetExtension(UnitTestCustomOptionsProtoFile.MethodOpt1)); + } } } |