def test_ndarray_int64_uint64(self) -> None: val0 = np.array([-2**16], dtype="int64") val1 = np.array([2**16], dtype="uint64") val2 = np.array([-2**36], dtype="int64") val3 = np.array([2**36], dtype="uint64") encoder = Serializer() rep0 = encoder.encode(val0) rep1 = encoder.encode(val1) rep2 = encoder.encode(val2) rep3 = encoder.encode(val3) assert len(encoder.buffers) == 2 [buf0, buf1] = encoder.buffers assert rep0 == NDArrayRep( type="ndarray", array=BytesRep(type="bytes", data=buf0), order=sys.byteorder, shape=[1], dtype="int32", ) assert rep1 == NDArrayRep( type="ndarray", array=BytesRep(type="bytes", data=buf1), order=sys.byteorder, shape=[1], dtype="uint32", ) assert rep2 == NDArrayRep( type="ndarray", array=[-2**36], order=sys.byteorder, shape=[1], dtype="object", ) assert rep3 == NDArrayRep( type="ndarray", array=[2**36], order=sys.byteorder, shape=[1], dtype="object", )
def test_bytes_base64(self) -> None: encoder = Serializer(deferred=False) val = bytes([0xFF, 0x00, 0x17, 0xFE, 0x00]) rep = encoder.encode(val) assert rep == BytesRep( type="bytes", data="/wAX/gA=", ) assert encoder.buffers == []
def test_bytes(self) -> None: encoder = Serializer() val = bytes([0xFF, 0x00, 0x17, 0xFE, 0x00]) rep = encoder.encode(val) assert len(encoder.buffers) == 1 [buf] = encoder.buffers assert buf.data == val assert rep == BytesRep(type="bytes", data=buf)
def test_typed_array_base64(self) -> None: encoder = Serializer(deferred=False) val = TypedArray("i", [0, 1, 2, 3, 4, 5]) rep = encoder.encode(val) assert rep == TypedArrayRep( type="typed_array", array=BytesRep( type="bytes", data="AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAA", ), order=sys.byteorder, dtype="int32", ) assert encoder.buffers == []
def test_pd_series(self, pd) -> None: encoder = Serializer() val = pd.Series([0, 1, 2, 3, 4, 5], dtype="int32") rep = encoder.encode(val) assert len(encoder.buffers) == 1 [buf] = encoder.buffers assert rep == NDArrayRep( type="ndarray", array=BytesRep(type="bytes", data=buf), order=sys.byteorder, shape=[6], dtype="int32", )
def test_ndarray_base64(self) -> None: encoder = Serializer(deferred=False) val = np.array([0, 1, 2, 3, 4, 5], dtype="int32") rep = encoder.encode(val) assert rep == NDArrayRep( type="ndarray", array=BytesRep( type="bytes", data="AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAA", ), order=sys.byteorder, shape=[6], dtype="int32", ) assert encoder.buffers == []
def test_typed_array(self) -> None: encoder = Serializer() val = TypedArray("i", [0, 1, 2, 3, 4, 5]) rep = encoder.encode(val) assert len(encoder.buffers) == 1 [buf] = encoder.buffers assert bytes(buf.data) == val.tobytes() assert rep == TypedArrayRep( type="typed_array", array=BytesRep(type="bytes", data=buf), order=sys.byteorder, dtype="int32", )
def test_ndarray(self) -> None: encoder = Serializer() val = np.array([0, 1, 2, 3, 4, 5], dtype="int32") rep = encoder.encode(val) assert len(encoder.buffers) == 1 [buf] = encoder.buffers assert bytes(buf.data) == val.tobytes() assert rep == NDArrayRep( type="ndarray", array=BytesRep(type="bytes", data=buf), order=sys.byteorder, shape=[6], dtype="int32", )
def test_ndarray_dtypes_shape(self) -> None: encoder = Serializer() val0 = np.array([[0, 1, 0], [0, 1, 1]], dtype="bool") val1 = np.array([[0, 1, 2], [3, 4, 5]], dtype="uint8") val2 = np.array([[0, 1, 2], [3, 4, 5]], dtype="int8") val3 = np.array([[0, 1, 2], [3, 4, 5]], dtype="uint16") val4 = np.array([[0, 1, 2], [3, 4, 5]], dtype="int16") val5 = np.array([[0, 1, 2], [3, 4, 5]], dtype="uint32") val6 = np.array([[0, 1, 2], [3, 4, 5]], dtype="int32") val7 = np.array([[0, 1, 2], [3, 4, 5]], dtype="uint64") val8 = np.array([[0, 1, 2], [3, 4, 5]], dtype="int64") val9 = np.array([[0, 1, 2], [3, 4, 5]], dtype="float32") val10 = np.array([[0, 1, 2], [3, 4, 5]], dtype="float64") rep0 = encoder.encode(val0) rep1 = encoder.encode(val1) rep2 = encoder.encode(val2) rep3 = encoder.encode(val3) rep4 = encoder.encode(val4) rep5 = encoder.encode(val5) rep6 = encoder.encode(val6) rep7 = encoder.encode(val7) rep8 = encoder.encode(val8) rep9 = encoder.encode(val9) rep10 = encoder.encode(val10) assert len(encoder.buffers) == 11 assert rep0 == NDArrayRep( type="ndarray", array=BytesRep(type="bytes", data=encoder.buffers[0]), order=sys.byteorder, shape=[2, 3], dtype="bool", ) assert rep1 == NDArrayRep( type="ndarray", array=BytesRep(type="bytes", data=encoder.buffers[1]), order=sys.byteorder, shape=[2, 3], dtype="uint8", ) assert rep2 == NDArrayRep( type="ndarray", array=BytesRep(type="bytes", data=encoder.buffers[2]), order=sys.byteorder, shape=[2, 3], dtype="int8", ) assert rep3 == NDArrayRep( type="ndarray", array=BytesRep(type="bytes", data=encoder.buffers[3]), order=sys.byteorder, shape=[2, 3], dtype="uint16", ) assert rep4 == NDArrayRep( type="ndarray", array=BytesRep(type="bytes", data=encoder.buffers[4]), order=sys.byteorder, shape=[2, 3], dtype="int16", ) assert rep5 == NDArrayRep( type="ndarray", array=BytesRep(type="bytes", data=encoder.buffers[5]), order=sys.byteorder, shape=[2, 3], dtype="uint32", ) assert rep6 == NDArrayRep( type="ndarray", array=BytesRep(type="bytes", data=encoder.buffers[6]), order=sys.byteorder, shape=[2, 3], dtype="int32", ) assert rep7 == NDArrayRep( type="ndarray", array=BytesRep( type="bytes", data=Buffer(encoder.buffers[7].id, encoder.buffers[5].data)), # encoder.buffers[7]), order=sys.byteorder, shape=[2, 3], dtype="uint32", #dtype="uint64", ) assert rep8 == NDArrayRep( type="ndarray", array=BytesRep( type="bytes", data=Buffer(encoder.buffers[8].id, encoder.buffers[6].data)), # encoder.buffers[8]), order=sys.byteorder, shape=[2, 3], dtype="int32", #dtype="int64", ) assert rep9 == NDArrayRep( type="ndarray", array=BytesRep(type="bytes", data=encoder.buffers[9]), order=sys.byteorder, shape=[2, 3], dtype="float32", ) assert rep10 == NDArrayRep( type="ndarray", array=BytesRep(type="bytes", data=encoder.buffers[10]), order=sys.byteorder, shape=[2, 3], dtype="float64", )