예제 #1
0
  def testEnumsAreParsedAsBooleans(self):
    a = tests_pb2.EnumMessage()
    b = tests_pb2.BoolMessage()
    b.ParseFromString(a.SerializeToString())
    self.assertIs(b.foo, False)

    a = tests_pb2.EnumMessage(foo="NULL")
    b = tests_pb2.BoolMessage()
    b.ParseFromString(a.SerializeToString())
    self.assertIs(b.foo, False)

    a = tests_pb2.EnumMessage(foo="ONE")
    b = tests_pb2.BoolMessage()
    b.ParseFromString(a.SerializeToString())
    self.assertIs(b.foo, True)
예제 #2
0
  def testBooleansAreParsedAsEnums(self):
    a = tests_pb2.BoolMessage()
    b = tests_pb2.EnumMessage()
    b.ParseFromString(a.SerializeToString())
    self.assertEqual(b.foo, tests_pb2.EnumMessage.NestedEnum.NULL)

    a = tests_pb2.BoolMessage(foo=False)
    b = tests_pb2.EnumMessage()
    b.ParseFromString(a.SerializeToString())
    self.assertEqual(b.foo, tests_pb2.EnumMessage.NestedEnum.NULL)

    a = tests_pb2.BoolMessage(foo=True)
    b = tests_pb2.EnumMessage()
    b.ParseFromString(a.SerializeToString())
    self.assertEqual(b.foo, tests_pb2.EnumMessage.NestedEnum.ONE)
예제 #3
0
 def testNewEnumOptionIsBackwardsCompatibleToTrue(self):
   a = tests_pb2.EnumMessage(foo="TWO")
   b = tests_pb2.BoolMessage()
   b.ParseFromString(a.SerializeToString())
   self.assertIs(b.foo, True)