Esempio n. 1
0
 def testEmptyStructures(self):
   structure = [list(), dict(), tuple()]
   self.assertTrue(self._coder.can_encode(structure))
   encoded = self._coder.encode_structure(structure)
   expected = struct_pb2.StructuredValue()
   expected.list_value.values.add().list_value.CopyFrom(struct_pb2.ListValue())
   expected.list_value.values.add().dict_value.CopyFrom(struct_pb2.DictValue())
   expected.list_value.values.add().tuple_value.CopyFrom(
       struct_pb2.TupleValue())
   self.assertEqual(expected, encoded)
   decoded = self._coder.decode_proto(encoded)
   self.assertEqual(structure, decoded)
 def do_encode(self, dict_value, encode_fn):
   encoded_dict = struct_pb2.StructuredValue()
   encoded_dict.dict_value.CopyFrom(struct_pb2.DictValue())
   for key, value in dict_value.items():
     encoded_dict.dict_value.fields[key].CopyFrom(encode_fn(value))
   return encoded_dict