DescriptorsTest.java 文件源码

java
阅读 44 收藏 0 点赞 0 评论 0

项目:vsminecraft 作者:
public void testFileDescriptor() throws Exception {
  FileDescriptor file = UnittestProto.getDescriptor();

  assertEquals("google/protobuf/unittest.proto", file.getName());
  assertEquals("protobuf_unittest", file.getPackage());

  assertEquals("UnittestProto", file.getOptions().getJavaOuterClassname());
  assertEquals("google/protobuf/unittest.proto",
               file.toProto().getName());

  assertEquals(Arrays.asList(UnittestImport.getDescriptor()),
               file.getDependencies());

  Descriptor messageType = TestAllTypes.getDescriptor();
  assertEquals(messageType, file.getMessageTypes().get(0));
  assertEquals(messageType, file.findMessageTypeByName("TestAllTypes"));
  assertNull(file.findMessageTypeByName("NoSuchType"));
  assertNull(file.findMessageTypeByName("protobuf_unittest.TestAllTypes"));
  for (int i = 0; i < file.getMessageTypes().size(); i++) {
    assertEquals(i, file.getMessageTypes().get(i).getIndex());
  }

  EnumDescriptor enumType = ForeignEnum.getDescriptor();
  assertEquals(enumType, file.getEnumTypes().get(0));
  assertEquals(enumType, file.findEnumTypeByName("ForeignEnum"));
  assertNull(file.findEnumTypeByName("NoSuchType"));
  assertNull(file.findEnumTypeByName("protobuf_unittest.ForeignEnum"));
  assertEquals(Arrays.asList(ImportEnum.getDescriptor()),
               UnittestImport.getDescriptor().getEnumTypes());
  for (int i = 0; i < file.getEnumTypes().size(); i++) {
    assertEquals(i, file.getEnumTypes().get(i).getIndex());
  }

  ServiceDescriptor service = TestService.getDescriptor();
  assertEquals(service, file.getServices().get(0));
  assertEquals(service, file.findServiceByName("TestService"));
  assertNull(file.findServiceByName("NoSuchType"));
  assertNull(file.findServiceByName("protobuf_unittest.TestService"));
  assertEquals(Collections.emptyList(),
               UnittestImport.getDescriptor().getServices());
  for (int i = 0; i < file.getServices().size(); i++) {
    assertEquals(i, file.getServices().get(i).getIndex());
  }

  FieldDescriptor extension =
    UnittestProto.optionalInt32Extension.getDescriptor();
  assertEquals(extension, file.getExtensions().get(0));
  assertEquals(extension,
               file.findExtensionByName("optional_int32_extension"));
  assertNull(file.findExtensionByName("no_such_ext"));
  assertNull(file.findExtensionByName(
    "protobuf_unittest.optional_int32_extension"));
  assertEquals(Collections.emptyList(),
               UnittestImport.getDescriptor().getExtensions());
  for (int i = 0; i < file.getExtensions().size(); i++) {
    assertEquals(i, file.getExtensions().get(i).getIndex());
  }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号