syntax = "proto3";

package enum;

// Tests that enums are correctly serialized and that it correctly handles skipped and out-of-order enum values
message Test {
  Choice choice = 1;
  repeated Choice choices = 2;
}

enum Choice {
  ZERO = 0;
  ONE = 1;
  // TWO = 2;
  FOUR = 4;
  THREE = 3;
}

// A "C" like enum with the enum name prefixed onto members, these should be stripped
enum ArithmeticOperator {
    ARITHMETIC_OPERATOR_NONE = 0;
    ARITHMETIC_OPERATOR_PLUS = 1;
    ARITHMETIC_OPERATOR_MINUS = 2;
    ARITHMETIC_OPERATOR_0_PREFIXED = 3;
}
