@@ -269,6 +269,9 @@ def serializer(obj, protocol=None):
269269 def deserializer (data ):
270270 return data .decode ("utf-8" )
271271
272+ def type_name_len (obj ):
273+ return f"{ (len (type (obj ).__name__ ))} "
274+
272275 for proto in range (pickle .HIGHEST_PROTOCOL + 1 ):
273276 with self .subTest (proto = proto ), shelve .BsdDbShelf (
274277 berkeleydb .btopen (self .fn ),
@@ -277,99 +280,77 @@ def deserializer(data):
277280 deserializer = deserializer ,
278281 ) as s :
279282 bar = "bar"
280- bytes_data = b"Hello, world!"
281- bytearray_data = bytearray (b"\x00 \x01 \x02 \x03 \x04 " )
282- array_data = array .array ("i" , [1 , 2 , 3 , 4 , 5 ])
283+ bytes_obj = b"Hello, world!"
284+ bytearray_obj = bytearray (b"\x00 \x01 \x02 \x03 \x04 " )
285+ arr_obj = array .array ("i" , [1 , 2 , 3 , 4 , 5 ])
283286
284287 s ["foo" ] = bar
285- s ["bytes_data" ] = bytes_data
286- s ["bytearray_data" ] = bytearray_data
287- s ["array_data" ] = array_data
288+ s ["bytes_data" ] = bytes_obj
289+ s ["bytearray_data" ] = bytearray_obj
290+ s ["array_data" ] = arr_obj
288291
289292 if proto == 5 :
290- self .assertEqual (
291- s ["foo" ], f"{ len (type (bar ).__name__ )} "
292- )
293- self .assertEqual (
294- s ["bytes_data" ],
295- f"{ len (type (bytes_data ).__name__ )} " ,
296- )
297- self .assertEqual (
298- s ["bytearray_data" ],
299- f"{ len (type (bytearray_data ).__name__ )} " ,
300- )
301- self .assertEqual (
302- s ["array_data" ],
303- f"{ len (type (array_data ).__name__ )} " ,
304- )
305-
306- key , value = s .set_location (b"foo" )
307- self .assertEqual ("foo" , key )
308- self .assertEqual (value , f"{ len (type (bar ).__name__ )} " )
309-
310- key , value = s .previous ()
311- self .assertEqual ("bytes_data" , key )
312- self .assertEqual (
313- value , f"{ len (type (bytes_data ).__name__ )} "
314- )
315-
316- key , value = s .previous ()
317- self .assertEqual ("bytearray_data" , key )
318- self .assertEqual (
319- value , f"{ len (type (bytearray_data ).__name__ )} "
320- )
321-
322- key , value = s .previous ()
323- self .assertEqual ("array_data" , key )
324- self .assertEqual (
325- value , f"{ len (type (array_data ).__name__ )} "
326- )
327-
328- key , value = s .next ()
329- self .assertEqual ("bytearray_data" , key )
330- self .assertEqual (
331- value , f"{ len (type (bytearray_data ).__name__ )} "
332- )
333-
334- key , value = s .next ()
335- self .assertEqual ("bytes_data" , key )
336- self .assertEqual (
337- value , f"{ len (type (bytes_data ).__name__ )} "
338- )
339-
340- key , value = s .first ()
341- self .assertEqual ("array_data" , key )
342- self .assertEqual (
343- value , f"{ len (type (array_data ).__name__ )} "
344- )
293+ self .assertEqual (s ["foo" ], type_name_len (bar ))
294+ self .assertEqual (s ["bytes_data" ], type_name_len (bytes_obj ))
295+ self .assertEqual (s ["bytearray_data" ],
296+ type_name_len (bytearray_obj ))
297+ self .assertEqual (s ["array_data" ], type_name_len (arr_obj ))
298+
299+ k , v = s .set_location (b"foo" )
300+ self .assertEqual (k , "foo" )
301+ self .assertEqual (v , type_name_len (bar ))
302+
303+ k , v = s .previous ()
304+ self .assertEqual (k , "bytes_data" )
305+ self .assertEqual (v , type_name_len (bytes_obj ))
306+
307+ k , v = s .previous ()
308+ self .assertEqual (k , "bytearray_data" )
309+ self .assertEqual (v , type_name_len (bytearray_obj ))
310+
311+ k , v = s .previous ()
312+ self .assertEqual (k , "array_data" )
313+ self .assertEqual (v , type_name_len (arr_obj ))
314+
315+ k , v = s .next ()
316+ self .assertEqual (k , "bytearray_data" )
317+ self .assertEqual (v , type_name_len (bytearray_obj ))
318+
319+ k , v = s .next ()
320+ self .assertEqual (k , "bytes_data" )
321+ self .assertEqual (v , type_name_len (bytes_obj ))
322+
323+ k , v = s .first ()
324+ self .assertEqual (k , "array_data" )
325+ self .assertEqual (v , type_name_len (arr_obj ))
345326 else :
346- key , value = s .set_location (b"foo" )
347- self .assertEqual ("foo" , key )
348- self .assertEqual (value , "str" )
327+ k , v = s .set_location (b"foo" )
328+ self .assertEqual (k , "foo" )
329+ self .assertEqual (v , "str" )
349330
350- key , value = s .previous ()
351- self .assertEqual ("bytes_data" , key )
352- self .assertEqual (value , "bytes" )
331+ k , v = s .previous ()
332+ self .assertEqual (k , "bytes_data" )
333+ self .assertEqual (v , "bytes" )
353334
354- key , value = s .previous ()
355- self .assertEqual ("bytearray_data" , key )
356- self .assertEqual (value , "bytearray" )
335+ k , v = s .previous ()
336+ self .assertEqual (k , "bytearray_data" )
337+ self .assertEqual (v , "bytearray" )
357338
358- key , value = s .previous ()
359- self .assertEqual ("array_data" , key )
360- self .assertEqual (value , "array" )
339+ k , v = s .previous ()
340+ self .assertEqual (k , "array_data" )
341+ self .assertEqual (v , "array" )
361342
362- key , value = s .next ()
363- self .assertEqual ("bytearray_data" , key )
364- self .assertEqual (value , "bytearray" )
343+ k , v = s .next ()
344+ self .assertEqual (k , "bytearray_data" )
345+ self .assertEqual (v , "bytearray" )
365346
366- key , value = s .next ()
367- self .assertEqual ("bytes_data" , key )
368- self .assertEqual (value , "bytes" )
347+ k , v = s .next ()
348+ self .assertEqual (k , "bytes_data" )
349+ self .assertEqual (v , "bytes" )
369350
370- key , value = s .first ()
371- self .assertEqual ("array_data" , key )
372- self .assertEqual (value , "array" )
351+ k , v = s .first ()
352+ self .assertEqual (k , "array_data" )
353+ self .assertEqual (v , "array" )
373354
374355 self .assertEqual (s ["foo" ], "str" )
375356 self .assertEqual (s ["bytes_data" ], "bytes" )
@@ -407,7 +388,6 @@ def deserializer(data):
407388 self .assertEqual (s ["foo" ], "" )
408389 self .assertNotEqual (s ["foo" ], "bar" )
409390
410-
411391 def test_missing_custom_deserializer (self ):
412392 def serializer (obj , protocol = None ):
413393 pass
0 commit comments