@@ -197,3 +197,30 @@ def test_msgpack():
197197 assert isinstance (event .header [u'message_id' ], bytes )
198198 assert isinstance (event .header [u'v' ], int )
199199 assert isinstance (event .args [0 ], str )
200+
201+
202+ def test_msgpack_numpy ():
203+ import numpy as np
204+ context = zerorpc .Context ()
205+ test_array = np .arange (10 )
206+ event = zerorpc .Event (u'myevent' , (test_array ,), context = context )
207+ print (event )
208+ # note here that str is an unicode string in all Python version (thanks to
209+ # the builtin str import).
210+ assert isinstance (event .name , str )
211+ for key in event .header .keys ():
212+ assert isinstance (key , str )
213+ assert isinstance (event .header [u'message_id' ], bytes )
214+ assert isinstance (event .header [u'v' ], int )
215+ assert isinstance (event .args [0 ], np .ndarray )
216+
217+ packed = event .pack ()
218+ event = event .unpack (packed )
219+ print (event )
220+ assert isinstance (event .name , str )
221+ for key in event .header .keys ():
222+ assert isinstance (key , str )
223+ assert isinstance (event .header [u'message_id' ], bytes )
224+ assert isinstance (event .header [u'v' ], int )
225+ assert isinstance (event .args [0 ], np .ndarray )
226+ assert np .array_equal (test_array , event .args [0 ])
0 commit comments