@@ -839,3 +839,41 @@ def runTest(self):
839839 elapsed_time = time .process_time () - startt
840840 print (f"Elapsed time for { messages } messages is: { elapsed_time } " )
841841
842+ class ArrayFromDict (unittest .TestCase ):
843+ def runTest (self ):
844+ import pytrap
845+ rec = pytrap .UnirecTemplate ("int8* PPI_PKT_DIRECTIONS,uint8* PPI_PKT_FLAGS,uint16* PPI_PKT_LENGTHS,uint32* DBI_BRST_BYTES,time* DBI_BRST_TIME_START,ipaddr SRC_IP,time TIME" )
846+ rec .createMessage (10000 )
847+ # prepare dict
848+ data = {
849+ "SRC_IP" : pytrap .UnirecIPAddr ("10.0.0.1" ),
850+ "TIME" : pytrap .UnirecTime (1669885132 , 853 ),
851+ "PPI_PKT_DIRECTIONS" : [
852+ 1 , - 1 , - 1 , - 1 , - 1 , 1 , 1 , 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
853+ - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , 1 , - 1 , - 1
854+ ],
855+ "PPI_PKT_FLAGS" : [
856+ 24 , 16 , 24 , 16 , 24 , 24 , 24 , 24 , 24 , 24 , 24 , 24 , 16 , 24 , 16 , 24 , 16 , 24 , 16 ,
857+ 24 , 16 , 24 , 16 , 24 , 16 , 24 , 16 , 24 , 24 , 16
858+ ],
859+ "PPI_PKT_LENGTHS" : [
860+ 517 , 1400 , 1400 , 1400 , 282 , 74 , 98 , 416 , 978 , 31 , 590 , 1400 , 1400 , 1400 ,
861+ 1400 , 1400 , 1400 , 1400 , 1400 , 1400 , 1400 , 1400 , 1400 , 1400 , 1400 , 1400 ,
862+ 1400 , 31 , 1400 , 1400
863+ ],
864+ "DBI_BRST_BYTES" : [
865+ 71274
866+ ],
867+ "DBI_BRST_TIME_START" : [
868+ pytrap .UnirecTime (1669885132 , 853 ),
869+ pytrap .UnirecTime (1669985132 , 853 )
870+ ]
871+ }
872+
873+ # set it into UnirecTemplate
874+ rec .setFromDict (data )
875+ # get the content
876+ stored = rec .getDict ()
877+ # compare it
878+ self .assertEqual (stored , data )
879+
0 commit comments