def pandas_file_contents(self): r"""str: Contents of mock Pandas file.""" s = serialize.get_serializer(stype=6, delimiter=self.delimiter, write_header=True) out = s.serialize(self.pandas_frame) return out
def test_guess_serializer(): r"""Test guess_serializer.""" nele = 5 names = ["name", "number", "value", "complex"] field_names = [backwards.unicode2bytes(n) for n in names] dtypes = ['S5', 'i8', 'f8', 'c16'] dtype = np.dtype([(n, f) for n, f in zip(names, dtypes)]) arr_mix = np.zeros(nele, dtype) arr_mix['name'][0] = 'hello' fmt_arr = serialize._default_delimiter.join( serialize.nptype2cformat(arr_mix.dtype, asbytes=True)) fmt_arr += serialize._default_newline if platform._is_win: # pragma: windows x = arr_mix[0].tolist() for i in x: print(type(i)) if backwards.PY2: # pragma: Python 2 # tolist maps to long on python 2, but int on python 3?! fmt = backwards.unicode2bytes('%s\t%l64d\t%g\t%g%+gj\n') else: # pragma: Python 3 fmt = backwards.unicode2bytes('%s\t%d\t%g\t%g%+gj\n') else: fmt = backwards.unicode2bytes('%s\t%ld\t%g\t%g%+gj\n') test_list = [(arr_mix, dict(field_names=field_names, format_str=fmt_arr, stype=2, as_array=1)), (arr_mix[0].tolist(), dict(format_str=fmt, stype=1)), ('hello', dict(stype=0))] for obj, sinfo_ans in test_list: sinfo_res = serialize.guess_serializer(obj) s = serialize.get_serializer(**sinfo_res) nt.assert_equal(s.serializer_info, sinfo_ans)
def update_serializer(self, msg): r"""Update the serializer for the output comm based on input.""" sinfo = self.ocomm.serializer.serializer_info sinfo['stype'] = 3 sinfo.setdefault('format_str', self.icomm.serializer.format_str) sinfo.setdefault('field_names', self.icomm.serializer.field_names) sinfo.setdefault('field_units', self.icomm.serializer.field_units) self.ocomm.serializer = serialize.get_serializer(**sinfo)
def test_serialize_sinfo(self): r"""Test serialize/deserialize with serializer info.""" hout = self._header_info hout.update(**self.instance.serializer_info) temp_seri = serialize.get_serializer( stype=self.instance.serializer_info['stype']) for iobj in self._objects: msg = self.instance.serialize(iobj, header_kwargs=self._header_info, add_serializer_info=True) iout, ihead = self.instance.deserialize(msg) self.assert_result_equal(iout, iobj) nt.assert_equal(ihead, hout) # Use info to reconstruct serializer iout, ihead = temp_seri.deserialize(msg) self.assert_result_equal(iout, iobj) nt.assert_equal(ihead, hout) new_seri = serialize.get_serializer(**ihead) iout, ihead = new_seri.deserialize(msg) self.assert_result_equal(iout, iobj) nt.assert_equal(ihead, hout)
def update_serializer(self, **kwargs): r"""Update serializer with provided information.""" key_list = ['format_str', 'as_array', 'field_names', 'field_units'] for k in key_list: setattr(self, k, kwargs.get(k, getattr(self, k))) if 'stype' in kwargs: stype = kwargs['stype'] if (self.serializer_type != stype) and (stype != 0): sinfo = self.serializer_info sinfo['stype'] = stype self._alias = serialize.get_serializer(**sinfo) assert (self.serializer_type == stype)
def test_get_serializer(): r"""Test get_serializer.""" max_code = 9 for x in range(max_code + 1): serialize.get_serializer(stype=x, format_str='%s\n') nt.assert_raises(RuntimeError, serialize.get_serializer, stype=max_code + 1)
def update_serializer(self, msg): r"""Update the serializer for the output comm based on input.""" sinfo = self.icomm.serializer.serializer_info sinfo['stype'] = 0 self.ocomm.serializer = serialize.get_serializer(**sinfo)
def obj_file_contents(self): r"""The contents of a file containing the obj data.""" serializer = serialize.get_serializer(stype=9) out = serializer.serialize(self.obj_dict) return out
def ply_file_contents(self): r"""The contents of a file containing the ply data.""" serializer = serialize.get_serializer(stype=8) out = serializer.serialize(self.ply_dict) return out