// Copyright 2026 The TensorFlow Authors. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // ============================================================================== // Test messages used in compare_test.py. syntax = "proto2"; package compare_test; option cc_enable_arenas = true; enum Enum { A = 0; B = 1; C = 2; } message Small { repeated string strings = 1; } message Medium { repeated int32 int32s = 1; repeated Small smalls = 2; repeated group GroupA = 3 { repeated group GroupB = 4 { required string strings = 5; } } repeated float floats = 6; } message Large { optional string string_ = 1; optional int64 int64_ = 2; optional float float_ = 3; optional bool bool_ = 4; optional Enum enum_ = 5; repeated int64 int64s = 6; optional Medium medium = 7; optional Small small = 8; optional double double_ = 9; optional WithMap with_map = 10; } message Labeled { required int32 required = 1; optional int32 optional = 2; } message WithMap { map value_message = 1; map value_string = 2; } message Floats { optional float float_ = 1; optional double double_ = 2; } message RepeatedFloats { repeated float float_ = 1 [packed = true]; repeated double double_ = 2 [packed = true]; } message NestedFloats { optional Floats floats = 1; } message MapFloats { map int_to_floats = 1; }